手册
目录
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");
运行实例 »点击 "运行实例" 按钮查看在线实例
Internet Explorer 10 或更早的版本不支持 const 关键字。
下表注明了完全支持 const 关键字的首个浏览器版本:
| Chrome | IE | Firefox | Safari | Opera |
|---|---|---|---|---|
| Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
| 2016 年 3 月 | 2013 年 10 月 | 2015 年 2 月 | 2016 年 9 月 | 2016 年 3 月 |
JavaScript const 变量在声明时必须赋值:
意思是:用 const 声明的数组必须在声明时进行初始化。
使用 const 而不初始化数组是一个语法错误:
不起作用:
const cars; cars = ["Saab", "Volvo", "BMW"];
用 var 声明的数组可以随时初始化。
您甚至可以在声明之前使用该数组:
没问题:
cars = ["Saab", "Volvo", "BMW"]; var cars;运行实例 »
点击 "运行实例" 按钮查看在线实例
用 const 声明的数组具有块作用域。
在块中声明的数组与在块外声明的数组不同:
const cars = ["Saab", "Volvo", "BMW"];
// 此处 cars[0] 为 "Saab"
{
const cars = ["Toyota", "Volvo", "BMW"];
// 此处 cars[0] 为 "Toyota"
}
// 此处 cars[0] 为 "Saab"
运行实例 »点击 "运行实例" 按钮查看在线实例
用 var 声明的数组没有块作用域:
var cars = ["Saab", "Volvo", "BMW"];
// 此处 cars[0] 为 "Saab"
{
var cars = ["Toyota", "Volvo", "BMW"];
// 此处 cars[0] 为 "Toyota"
}
// 此处 cars[0] 为 "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 数组参考手册。
该手册包含所有数组属性和方法的描述和实例。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77.2万人学习
共29课时
61.8万人学习
共25课时
39.4万人学习
共43课时
71.1万人学习
共25课时
61.7万人学习
共22课时
23万人学习
共28课时
34万人学习
共89课时
125.3万人学习