JavaScript 中 static 和 const 的区别

17 Mar 2025 | 4 分钟阅读

我们在不同的语言中使用 static 和 const 变量。在本节中,我们将探讨不同编程语言中 static 和 const 变量之间的区别。

JavaScript 中的 static 变量是什么

static 变量是类属性,它在类中使用,而不是在类的实例中使用。该变量存储在内存的数据段区域,并且类中创建的每个实例都共享相同的值。要使用 static 变量,我们使用 static 关键字。我们可以使用 static 关键字来创建 static 值、static 函数,并与类、运算符、属性一起使用,作为应用程序或网站的实用函数。static 变量的值在运行时设置,是一种全局值,可用于指定类的实例。

JavaScript 中的 const 变量是什么

const 变量是具有固定值并在整个程序中保持不变的变量。const 变量的一个特性是我们无法在整个程序中更改或修改其值。这是因为一旦我们创建了一个 const 值,编译器就会被告知该值是固定的,不应被程序员更改。因此,每当程序员尝试修改 const 值时,都会显示一条错误消息,表明 const 值无法更改。要使用 const 变量,我们使用 'const' 关键字并输入值。

JavaScript 中 static 和 const 的区别

以下几点将帮助我们理解两者的区别:

静态Const
static 关键字用于在 JavaScript 类程序中定义 static 属性和方法。const 关键字用于为变量定义常量值。
static 关键字只能在类定义上访问。为了访问非 static 方法的 static 关键字,需要使用类名调用它们。但是,要在另一个 static 方法中调用 static 方法,我们可以使用 this 关键字。this 关键字在此上下文中指向类本身。const 值可以全局或局部访问,但全局常量永远不能是 window 对象的属性。
static 方法是用于创建或克隆对象的实用函数。const 变量用于声明一个不能更改其值的常量或固定值。
JavaScript static 由一个名为 'static' 关键字的关键字标记。JavaScript const 由一个名为 'const' 关键字的关键字标记,我们在其中声明一个 const 变量并用常量值对其进行初始化。
JavaScript static 可以与类和方法一起使用。JavaScript const 可以与对象和数组一起使用。
static 变量的值可以被重新赋值。const 变量的值不能被重新赋值。但是,我们可以在不同的块作用域中重新声明 const 变量,因为这是允许的。

以上是一些差异点,可以帮助我们理解 JavaScript 关键字的工作原理。除了这些理论上的差异描述之外,让我们通过一个两者的示例来理解 static 和 const 变量的用法和工作原理。

使用 JavaScript Static

下面是一个在类中使用 JavaScript static 关键字的实际实现

在上面的程序代码中,我们可以看到一个 static 方法在类中创建,当它被调用时,它会调用类 static 方法内的语句。上述代码的输出如下:

Static vs Const in JavaScript

使用 JavaScript const

下面是使用 JavaScript const 关键字的实际实现

在上面的代码中,可以看到 const 变量被赋值,但当我们尝试重新赋值时,会抛出一个错误,表明 const 描述的值不能更改。因此,上面的代码的输出是:

Static vs Const in JavaScript

在本节中,我们了解到 static 和 const 变量具有不同的作用,并且用于不同的目的,其中 static 变量可用于类方法或属性,而 const 变量用于为数组、变量或对象初始化 const 值。