es const

2020-06-20  本文已影响0人  pengkiw

1⃣️不属于顶层对象window

const a = 5;
console.log('a:', a)  // 5 
console.log('a:', window.a) // undefined

2⃣️不允许重复声明
3⃣️不存在变量提升

if (true) {
    console.log(a);
    const a = 5; // 报错 ReferenceError: Cannot access 'a' before initialization
}

4⃣️暂时性死区 (防止在变量声明前 使用变量)

if (true) {
   console.log(a); // 报错 ReferenceError: Cannot access 'a' before initialization
    const a = 5;  
}
console.log(a) // ReferenceError: a is not defined

5⃣️有块级作用域 {}


*引用类型常量可以成功赋值

const obj = {
    name: 'kiw',
    age: 18,
}
console.log(obj); // {name: "kiw", age: 18}
obj.school = 'imooc';
console.log(obj); // {name: "kiw", age: 18, school: "imooc"} 
// 引用类型 存的是地址  所以能成功赋值
const obj = {
    name: 'kiw',
    age: 18,
}
Object.freeze(obj); //浅层冻结  让obj的属性不能修改
console.log(obj); // {name: "kiw", age: 18}
obj.school = 'imooc';
console.log(obj);  // {name: "kiw", age: 18}
上一篇 下一篇

猜你喜欢

热点阅读