1、const 定义的变量,是不能够重新赋值的,而且必须初始化。所以这个是使用优先级最高的个语法,他能极大保障数据的安全性。
const num = 3; console.log(num); //现在尝试修改i的值 num = 5; console.log(num); //这时会报错
但也不是说const所定义的变量就不能修改值
const arr = [name='tome', age=19]; //输出数组的值 console.log(arr); //修改年龄 arr.age=20; console.log(arr);
从这我们可以看出,如果用const定义对象,对象中的属性值是可以更改的。
2、let 跟 const 是一样的,只不过它可以重新被赋值。
let num = 10; //输出值为 10 console.log(num); //输出值为 20 num = 20; console.log(num);
3、let 跟 const 是块级作用域,但是 var 是函数级作用域
{ var x = 333; let y = 444; } console.log(x); // 333 console.log(y); // 报错 function aaa () { console.log("pre", x); // undefined if (true) { var x = 323; } console.log("post", x); // 323,记住,var 定义的变量是函数级别的作用域的 }