const 的行为与 let 基本相同,唯一一个重要的区别是用它声明变量时必须同时初始化变量,且 尝试修改 const 声明的变量会导致运行时错误。
const age = 26;age = 20; // TypeError:给常量赋值// const 也不允许重复声明const name = 'Matt';const name = 'Nicholas'; // SyntaxError// const 声明的作用域也是块const name = 'Matt';if (true) {const name = 'Nicholas';}console.log(name); // Matt
如果const声明的是一个对象,那么修改这个对象的内部属性并不违反const限制
const person = {};person.name = 'Matt'; // ok
