我想要一个永远未定义的属性:
var foo = {bar:undefined}
如果有人稍后尝试更改属性栏,那么它也应该导致未定义。
foo.bar = 'someValue'//
foo.bar//this time this should result in undefined.
我的意思是如何设置一个不可更改的属性。
最佳答案
好的,根据@somethinghere 的提示(他又打破了他/她自己的答案......)这是一个工作示例,它设置了一个对象成员,默认为 undefined
并且是不可写:
var foo = {}
Object.defineProperty(foo, 'bar', {
enumerable: false,
configurable: false,
writable: false
});
foo.bar = 'abcdefg';
console.log( foo.bar ); // returns undefined
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
请注意,您仍然可以删除并重新设置此属性。 (虽然您不能简单地覆盖它。)
关于javascript - force 属性始终未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26970309/