javascript – ‘let’和’const’ECMAScript 2015(ES6)有什么区别?
作者:互联网
我想知道ES6中let和const之间的区别是什么.它们都是块作用域,如以下代码中的示例所示:
const PI = 3.14;
console.log(PI);
PI = 3;
console.log(PI);
const PI = 4;
console.log(PI);
var PI = 5;
console.log(PI);
在ES5中,输出将是:
3.14
3.14
3.14
3.14
但在ES6中它将是:
3.14
3
4
5
我想知道为什么ES6允许更改const值,问题是为什么我们现在应该使用’const’?我们可以使用’let’代替吗?
注意:jsbin可用于测试,选择JavaScript运行ES5代码,Traceur运行ES6功能.
解决方法:
你所看到的只是一个实现错误.根据ES6 spec wiki on const
,const是:
A initialize-once, read-only thereafter binding form is useful and has
precedent in existing implementations, in the form of const
declarations.
这意味着只读,就像现在一样. Traceur和Continuum中的const的ES6实现是错误的(它们可能只是忽略了它)
这是Github issue regarding Traceur not implementing const
标签:javascript,ecmascript-6,ecmascript-5 来源: https://codeday.me/bug/20190916/1808646.html