您现在的位置:首页 >> 前端 >> 内容

let和const的区别有哪些?

时间:2017/11/7 15:36:01 点击:

  核心提示:let和const的区别let与const都是只在声明所在的块级作用域内有效let用来定义变量,无论是不是严格模式下,声明未初始化的时候,都不会报错,和var作用一样,返回undefinedconst...

let和const的区别

let与const都是只在声明所在的块级作用域内有效

let用来定义变量,无论是不是严格模式下,声明未初始化的时候,都不会报错,和var作用一样,返回undefined

const用来定义常量,而且声明时必须初始化,否则报错

const不能修改定义的常量的值 但是可以修改常量的属性值,例如:

const a = {b: 9};

a.b = 1;

console.log(a);

因为对于复合类型的变量,如数组和对象,变量名不指向数据,而是指向数据所在的地址。

const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以可以修改const定义的数组或者对象的数值;

也可以通过Object.freeze(name)方法冻结这个常量;例如Object.freeze(a);这时候a的属性值就不能随意更改了

有意思的是:

var let = 1; 在严格模式下报错,非严格模式下,打印let是1

const let = 1;在不在严格模式下都会报错

Tags:LE ET T和 和C 
作者:网络 来源:qilanbei的博