const 的行为与 let 基本相同,唯一一个重要的区别是用它声明变量时必须同时初始化变量,且 尝试修改 const 声明的变量会导致运行时错误。

    1. const age = 26;
    2. age = 20; // TypeError:给常量赋值
    3. // const 也不允许重复声明
    4. const name = 'Matt';
    5. const name = 'Nicholas'; // SyntaxError
    6. // const 声明的作用域也是块
    7. const name = 'Matt';
    8. if (true) {
    9. const name = 'Nicholas';
    10. }
    11. console.log(name); // Matt

    如果const声明的是一个对象,那么修改这个对象的内部属性并不违反const限制

    1. const person = {};
    2. person.name = 'Matt'; // ok