const的行为与let基本相同,唯一一个重要的却别就是用它是必须同时初始化变量,并且司改const声明的变量会导致运行时错误。例:
const age = 18;
age = 17; // TypeError:给常量赋值
// 同时也不允许重复声明
const name = "张三";
const name = "李四";
// 作用域也是块
const name = ‘Matt‘;
if (true) {
const name = ‘Nicholas‘;
}
console.log(name); // Matt
上述的限制只适用于它指向的变量的引用。换句话说,当你的变量是对象时,你可以修改对象里的属性。
const在for循环中也不能当做自增量,因为自增会改变const的值,但是const是不可修改变量的引用。
但是在for-of和for-in中,由于每次迭代相当于创建一个新的变量,就有特别的意义:
let i = 0;
for (const j = 7; i < 5; ++i) {
console.log(j);
}
// 7, 7, 7, 7, 7
for (const key in {a: 1, b: 2}) {
console.log(key);
}
// a, b
for (const value of [1,2,3,4,5]) {
console.log(value);
}
// 1, 2, 3, 4, 5
加油。
原文:https://www.cnblogs.com/clmmmmmm/p/14977801.html