【发布时间】:2018-03-01 03:45:44
【问题描述】:
Object.defineProperty(obj, 'x', ...) 和 obj.x 有什么区别?
来自MDN,在非严格模式下:
var obj = { };
Object.preventExtensions(obj);
Object.defineProperty(obj,
'x', { value: "foo" }
);
抛出错误无法添加属性 x,对象不可扩展。但是obj.x = 'foo' 不会抛出任何错误。我不明白行为上的差异。
【问题讨论】:
-
但实际上并没有添加新属性i.stack.imgur.com/IQLuU.png
标签: javascript readonly