📅  最后修改于: 2023-12-03 15:16:09.535000             🧑  作者: Mango
在 JavaScript 中,静态和常量都是一些固定不变的值,但它们之间有区别。
静态变量是在类级别上定义的,可以在多个实例之间共享。它们只会在类被加载时分配一次内存,并在整个生命周期中保持不变。在 JavaScript 中,使用 static
关键字可以创建静态变量。
以下是一个使用静态变量的示例代码:
class Circle {
static pi = 3.14159;
constructor(radius) {
this.radius = radius;
}
area() {
return Circle.pi * this.radius * this.radius;
}
}
const c1 = new Circle(5);
console.log(c1.area()); // 78.53975
const c2 = new Circle(10);
console.log(c2.area()); // 314.159
在上面的代码中,pi
是 Circle
类的静态变量。它的值为 3.14159
,所有创建的 Circle
实例都可以访问该变量。area()
方法使用 Circle.pi
计算圆的面积。即使创建了多个 Circle
实例,静态变量 pi
的值始终保持不变。
常量是一种不能被改变的变量,它们根据程序需要被赋值,并在整个生命周期中保持不变。在 JavaScript 中,使用 const
关键字可以创建常量。
以下是一个使用常量的示例代码:
const PI = 3.14159;
function calculateCircleArea(radius) {
return PI * radius * radius;
}
console.log(calculateCircleArea(5)); // 78.53975
console.log(calculateCircleArea(10)); // 314.159
在上面的代码中,PI
是一个常量,分配一次的同时也不能更改这个值。 calculateCircleArea()
函数使用常量 PI
计算圆的面积。常量始终具有相同的值,因此不需要在每次使用时重新计算。
总的来说,静态变量是在类中定义的,并且可以在多个实例之间共享,而常量则是在程序中定义的,并且始终保持不变。在实际开发中,开发者可以根据需要使用静态变量和常量。