前端必知必会-JavaScript 数组 Const


JavaScript 数组 Const

ECMAScript 2015 (ES6)
2015 年,JavaScript 引入了一个重要的新关键字:const。

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

示例

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

无法重新分配

使用 const 声明的数组无法重新分配:

示例

const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // 错误

数组不是常量

关键字 const 有点误导。

它不定义常量数组。它定义对数组的常量引用。

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

元素可以重新分配

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

示例

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

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

// 您可以添加元素:
cars.push("Audi");

浏览器支持
Internet Explorer 10 或更早版本不支持 const 关键字。

下表定义了第一个完全支持 const 关键字的浏览器版本:

声明时分配

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

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

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

示例
这将不起作用:

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

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

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

示例
这是可以的:

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

Const 块作用域

用 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 数组 Const的使用,如有问题欢迎私信和评论

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值