JavaScript 静态和常量的区别
我们在不同的语言中都使用静态和常量变量。在本节中,我们将描述两者之间的差异点。让我们讨论一下。
JavaScript中的静态变量是什么
静态变量是一个类属性,在类中使用,而不是在类的实例中使用。该变量存储在内存的数据段区域,并且相同的值在类中创建的每个实例之间共享。要使用静态变量,我们使用static关键字。我们可以使用静态关键字创建静态值、静态函数、类、操作符、属性,并作为应用程序或网站的实用函数。静态变量的值在运行时设置,是一种可以用于指定类的实例的全局值。
JavaScript中的常量变量是什么
常量变量是一个具有固定值且在程序中保持不变的变量。常量变量的特性是我们无法在程序中更改或修改其值。这是因为一旦我们创建了一个常量值,编译器就会被告知该值是固定的,并且应该防止程序员修改。因此,每当程序员尝试修改常量值时,都会显示一个错误,指示不能更改常量值。要使用常量变量,我们使用const关键字并输入值。
JavaScript中的静态变量与常量的区别
以下是让我们了解这两者之间差异的几个不同点:
静态(Static) | 常量(Const) |
---|---|
静态关键字用于在Javascript类程序中定义静态属性和方法。 | 常量关键字用于为变量定义常量值。 |
静态关键字只能在类定义内访问。为了访问非静态方法的静态关键字,需要使用类名称调用它们。然而,在一个静态方法中调用另一个静态方法时,可以使用this关键字。 | 常量值可以在全局或局部范围内访问,但是全局常量不能是window对象的属性。 |
静态方法是用于创建或克隆对象的实用函数。 | 常量变量用于声明一个不可更改的常量或固定值。 |
JavaScript中的静态使用一个名为“static”的关键字进行标记。 | JavaScript中的常量使用一个名为“const”的关键字进行标记,其中我们声明一个常量变量并用一个常量值进行初始化。 |
JavaScript静态也可以与类和方法一起使用。 | JavaScript常量也可以与对象和数组一起使用。 |
静态变量的值可以被重新赋值。 | 常量变量的值不能被重新赋值。但是,我们可以在不同的块范围中重新声明常量变量,因为它被允许的。 |
上面是一些差异点,这些差异点可以帮助我们理解JavaScript关键字的工作方式。除了这些理论差异描述之外,让我们通过一个示例来看一下两者的使用和工作原理,从而更好地理解静态变量和常量的用途。
使用JavaScript静态变量
下面是在类中使用JavaScript静态关键字的实际示例:
<html>
<head>
<title> JavaScript Static</title>
</head>
<body>
<script>
class A {
static staticMethod() {
return "Calling Static method.";
}
}
document.write(A.staticMethod());
</script>
</body>
</html>
在上面的程序代码中,我们可以看到在一个类中创建了一个静态方法,当它被调用时,它会调用类的静态方法中的语句。以下是输出的结果:
使用Javascript const
以下是使用Javascript const关键字的实际实现:
<html>
<head>
<title> JavaScript Static</title>
</head>
<body>
<script>
const value= 8;
try {
value= 10;
}
catch (e) {
document.write(e);
} //will display a TypeError
document.write(value);
</script>
</body>
</html>
在上面的代码中,可以看到const变量被赋予一个值,但是当我们尝试重新赋值另一个值时,会抛出一个错误,告诉我们const描述的值不能被改变。因此,上面代码的输出是:
在这个部分中,我们了解到静态变量和const变量有不同的角色和用途,其中静态变量可以用于类方法或属性,而const变量用于为数组、变量或对象初始化一个const值。