我注意到let
和const
相似且行为相同,但是当然有理由创建它们中的每一个,能否请您通过示例解释它们之间的区别< / p>
答案 0 :(得分:1)
当您使用const
声明变量时,无法更改该值,
const name = 'john';
name = 'brad'; // throw error
但是当您使用let
声明变量时,可以更改
let name = 'john';
name = 'brad';
console.log(name); // brad
答案 1 :(得分:0)
let
和const
之间的相似之处在于它们都具有块作用域。这意味着它们仅在声明的块中可用。
它们之间的区别在于,可以为用let
声明的变量分配一个新值,而不能用const
声明的变量分配一个新值。
let x = 3;
x = 'changed';
const y = 33;
y = 'changed' //throws error.
这里重要的一点是const
仅阻止分配给新值,而不是修改变量。
const obj = {a:1};
obj.a = 5 //will not throw error
obj.b = 'something' //will not throw error
obj = {x:1} //will throw error
注意:如果使用const
声明原始类型(字符串,数字,符号,布尔值,未定义),则永远不能更改它。