解释 ES6 中的常量
JavaScript 是世界上最流行的轻量级解释编译编程语言。它也被称为网页脚本语言。它以开发网页而闻名,许多非浏览器环境也使用它。 JavaScript 可用于客户端开发以及服务器端开发。
Const 关键字:在编程时,我们会遇到一些情况,我们希望声明一个变量,该变量的值在整个程序中保持不变。一个这样的例子是 pi 的值始终保持不变。 ES6 支持一种这样的声明,它可以使用单词const来声明。
声明const变量的语法是:
const CONST_NAME = value;
常量的属性:
- 使用单词 const 声明的变量是不可变的。
- 用 const 声明的变量是块范围的。
- 用 const 声明的变量不能重新赋值。
- 用 const 声明的变量必须在声明后立即赋值。
- 用 const 声明的变量在声明之前不能使用。
下面的示例将显示使用 const 关键字的各种属性。
示例 1:在此示例中,将抛出错误“尝试覆盖常量'i'”。因此,这表明用 const 声明的变量不能被覆盖。
Javascript
Javascript
// Will throw syntax error as
// no value has been assigned
const MY_VAR;
Javascript
// Declaring multiple const values
// with the same variable
const pi = 3.15;
const pi = 2.6;
Javascript
const pair = {x:30, y:60};
// Updating the x and y values
// of the object
pair.x = 10;
pair.y = 90;
console.log(pair);
Javascript
const pair = { x: 30, y: 20 }
// Will throw an error that
// pair has already been declared
const pair = { a: 35 }
Javascript
const pair = { x: 30, y: 20 }
// Adding a new property
// to the pair
pair.z = 67;
console.log(pair);
Javascript
const arr = ['hi', 'how', 'are', 'you'];
// Looping through all the elements
// of the array
for (const ele of arr) {
console.log(ele);
}
输出:
TypeError: Assignment to constant variable.
示例 2:下面的语句也会显示“语法错误”,因为 const 变量的值只能在声明时定义。
Javascript
// Will throw syntax error as
// no value has been assigned
const MY_VAR;
输出:
SyntaxError: Missing initializer in const declaration
示例 3:下面的语句也会抛出一个错误“未捕获的语法错误”,因为我们试图声明一个使用已经声明为 const 的变量名。
Javascript
// Declaring multiple const values
// with the same variable
const pi = 3.15;
const pi = 2.6;
输出:
SyntaxError: Identifier 'pi' has already been declared
用对象声明 const:通过将对象声明为常量,我们可以操纵对象的内部属性。
示例 4:
Javascript
const pair = {x:30, y:60};
// Updating the x and y values
// of the object
pair.x = 10;
pair.y = 90;
console.log(pair);
输出:
{
x: 10,
y: 90
}
可以操作 const 对象的属性值,但是,您不能重新分配const对象,如下例所示。
示例 5:
Javascript
const pair = { x: 30, y: 20 }
// Will throw an error that
// pair has already been declared
const pair = { a: 35 }
输出:
SyntaxError: Identifier 'pair' has already been declared
示例 6:也可以向 const 对象添加新属性,如下所示。
Javascript
const pair = { x: 30, y: 20 }
// Adding a new property
// to the pair
pair.z = 67;
console.log(pair);
输出将是这样的:
{
x: 30,
y: 20,
z: 67
}
带循环的 const: ES6 支持在 for-of 循环中使用 const,其中为每次迭代创建新的绑定。
示例 7:
Javascript
const arr = ['hi', 'how', 'are', 'you'];
// Looping through all the elements
// of the array
for (const ele of arr) {
console.log(ele);
}
输出:
hi
how
are
you