导航
×
   ❮   
HTML CSS JavaScript PHP Go ECMS

JavaScript 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JavaScript const 数组常量


ECMAScript 2015 (ES6)

2015 年,JavaScript 引入了一个重要的全新关键字:const

现在,使用 const 声明数组已成为一种常见的做法:

示例

const cars = ["Saab", "Volvo", "BMW"];
亲自试一试 »

无法重新赋值

使用 const 声明的数组不能重新赋值:

示例

const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"];    // ERROR
亲自试一试 »

数组不是常量

关键字 const 有点误导人。

它并没有定义一个常量数组,而是定义了一个指向数组的常量引用。

正因如此,我们仍然可以修改常量数组的元素。


元素可以重新赋值

您可以更改常量数组的元素:

示例

// 您可以创建一个常量数组:
const cars = ["Saab", "Volvo", "BMW"];

// 您可以更改元素:
cars[0] = "Toyota";

// 您可以添加一个元素:
cars.push("Audi");
亲自试一试 »

声明时必须赋值

JavaScript const 变量必须在声明时赋值:

含义:使用 const 声明的数组必须在声明时进行初始化。

使用 const 而不初始化数组是语法错误:

示例

这样做行不通:

const cars;
cars = ["Saab", "Volvo", "BMW"];

使用 var 声明的数组可以随时初始化。

甚至可以在声明数组之前使用它:

示例

这样做是可以的:

cars = ["Saab", "Volvo", "BMW"];
var cars;
亲自试一试 »

常量块作用域

使用 const 声明的数组具有块作用域

在代码块中声明的数组与在代码块外声明的数组不同:

示例

const cars = ["Saab", "Volvo", "BMW"];
// Here cars[0] is "Saab"
{
  const cars = ["Toyota", "Volvo", "BMW"];
   // Here cars[0] is "Toyota"
}
// Here cars[0] is "Saab"
亲自试一试 »

使用 var 声明的数组没有块级作用域:

示例

var cars = ["Saab", "Volvo", "BMW"];
// Here cars[0] is "Saab"
{
  var cars = ["Toyota", "Volvo", "BMW"];
   // Here cars[0] is "Toyota"
}
// Here cars[0] is "Toyota"
亲自试一试 »

您可以在以下章节中了解更多关于块作用域的内容:JavaScript 作用域


重新声明数组

在程序的任何位置,都允许重新声明用 var 声明的数组:

示例

var cars = ["Volvo", "BMW"];   // 允许
var cars = ["Toyota", "BMW"];  // 允许
cars = ["Volvo", "Saab"];      // 允许

在同一作用域或同一代码块中,不允许将数组重新声明或重新赋值给 const

示例

var cars = ["Volvo", "BMW"];     // 允许
const cars = ["Volvo", "BMW"];   // 不允许
{
  var cars = ["Volvo", "BMW"];   // 允许
  const cars = ["Volvo", "BMW"]; // 不允许
}

在同一作用域或同一代码块中,不允许重新声明或重新赋值已存在的 const 数组:

示例

const cars = ["Volvo", "BMW"];   // 允许
const cars = ["Volvo", "BMW"];   // 不允许
var cars = ["Volvo", "BMW"];     // 不允许
cars = ["Volvo", "BMW"];         // 不允许

{
  const cars = ["Volvo", "BMW"]; // 允许
  const cars = ["Volvo", "BMW"]; // 不允许
  var cars = ["Volvo", "BMW"];   // 不允许
  cars = ["Volvo", "BMW"];       // 不允许
}

在另一个作用域或另一个代码块中,使用 const 重新声明数组是允许的:

示例

const cars = ["Volvo", "BMW"];   // 允许
{
  const cars = ["Volvo", "BMW"]; // 允许
}
{
  const cars = ["Volvo", "BMW"]; // 允许
}

完整的数组参考

如需完整的数组参考,请访问我们的:

完整的 JavaScript 数组参考

该参考包含所有数组属性和方法的描述和示例。


freew3c.com 中文网是独立运营的中文开发者学习平台,与 freew3c.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。


Copyright @2020-2026 京ICP备888888号-8