📜  解释 ES6 中的常量

📅  最后修改于: 2022-05-13 01:56:38.852000             🧑  作者: Mango

解释 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