"use strict";
var a = Object.create(Object.prototype, {
name: {
writable: false,
value: 'foo'
}
});
var b = Object.create(a);
b.name = 'bar' // Uncaught TypeError: Cannot assign to read only property
如果我想为b创建一个'name'属性,同时保持原样,该怎么办。是否可以?如果没有,您能告诉我为什么它不起作用。有人可以帮我吗,谢谢!
您可以name
在创建b
对象时覆盖属性。
"use strict";
var a = Object.create(Object.prototype, {
name: {
writable: false,
value: 'foo'
}
});
var b = Object.create(a, {
name: {
value: 'bar',
writable: false
}
});
console.log(a.name, b.name)
您还可以使用Object.defineProperties()
方法直接在对象上定义新属性或修改现有属性。
"use strict";
var a = Object.create(Object.prototype, {
name: {
writable: false,
value: 'foo'
}
});
var b = Object.create(a);
Object.defineProperties(b, {
name: {
value: 'bar',
writable: false
}
});
console.log(a.name, b.name)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句