当我们在javascript ES6(ES2015)中声明变量时,使用(let)和(const)之间的核心区别是什么? [重复]

问题描述 投票:-2回答:2

这个问题在这里已有答案:

我注意到letconst是相似的,行为方式相同,但当然有理由创建它们中的每一个,你能用例子解释它们之间的区别吗?

javascript ecmascript-6
2个回答
0
投票

letconst之间的相似之处在于它们都具有块范围。这意味着它们仅在声明的块中可用。

它们之间的区别在于,使用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用于声明基本类型(字符串,数字,符号,布尔值,未定义),则永远不能更改它。


1
投票

当您使用const声明变量时,您无法更改该值,

const name = 'john';
name = 'brad'; // throw error

但是当你使用let声明变量时,你可以改变它

let name = 'john';
name = 'brad';
console.log(name); // brad
© www.soinside.com 2019 - 2024. All rights reserved.