Jus*_*tin 4 javascript ecmascript-6
使用JavaScript ES6,我很惊讶:
const a = {};
a.foo = 'bar';
a.foo = 'car';
Run Code Online (Sandbox Code Playgroud)
已验证.为什么是这样?我会假设const你不能改变a空对象并应用新属性.更进一步,我也假设a一旦设置了属性,你就不能改变它的值.
Bli*_*ixt 11
只有变量赋值是常量.引用的任何对象或数组都是可变的.
const a = {one: 1};
a.three = 3; // this is ok.
a = {two: 2}; // this doesn't work.
Run Code Online (Sandbox Code Playgroud)
你可以做的是使用Object.freeze:
const a = {one: 1};
Object.freeze(a);
a.three = 3; // silently fails.
// a is still {one: 1} here.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
513 次 |
| 最近记录: |