JavaScript 数组常量
ECMAScript 2015 (ES6)
2015 年,JavaScript 引入了一个重要的新关键字:const
使用以下命令声明数组已成为一种常见的做法:const
1 | const cars = ["Saab", "Volvo", "BMW"]; |
无法重新分配
用 const
声明的数组不能重新赋值:
1 | const cars = ["Saab", "Volvo", "BMW"]; |
数组不是常量
关键词const
有点误导。
它不定义常量数组。它定义了对数组的常量引用。
因此,我们仍然可以更改常量数组的元素。
可以重新分配元素
您可以更改常量数组的元素:
1 | // You can create a constant array: |
浏览器支持
Internet Explorer 10 或更早版本不支持const
关键字。
下表定义了完全支持const
关键字的第一个浏览器版本:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
声明时分配
JavaScript const
变量在声明时必须被赋值:
含义:使用const
声明的数组在声明时必须进行初始化。
在不初始化数组的情况下使用const
是一种语法错误:
:这是行不通的
1 | const cars; |
var
声明的数组可以随时初始化。
您甚至可以在声明数组之前使用它:
:这没关系
1 | cars = ["Saab", "Volvo", "BMW"]; |
Const 块作用域
const
声明的数组具有块作用域。
在块中声明的数组与在块外声明的数组不同:
1 | const cars = ["Saab", "Volvo", "BMW"]; |
用 var
声明的数组没有块作用域:
1 | var cars = ["Saab", "Volvo", "BMW"]; |
重新声明数组
在程序中的任何位置都允许重新声明声明的数组:var
1 | var cars = ["Volvo", "BMW"]; // Allowed |
将数组重新声明或重新分配给 ,或 不允许使用相同的块:const
1 | var cars = ["Volvo", "BMW"]; // Allowed |
重新声明或重新分配现有数组,在同一作用域中,或 不允许使用相同的块:const
1 | const cars = ["Volvo", "BMW"]; // Allowed |
允许在另一个作用域或另一个块中使用const
重新声明数组:
1 | const cars = ["Volvo", "BMW"]; // Allowed |
0评论