强制属性始终未定义
force property as is always undefined
我想要一个始终未定义的属性:
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
请注意,您仍然可以删除并重新设置此属性。(虽然你不能简单地覆盖它。
您目前可以执行此操作:
var foo = {}
Object.defineProperty(foo, 'bar', {
enumerable: false,
configurable: false,
writable: false,
value: undefined
});
正如一些人所指出的,undefined
不等于"undefined"
,一个显然是一个字符串。但是,为了清楚起见,我添加了它,因为省略value
属性实际上失去了能够使用 defineProperty 使它们不可配置的意义。配置完成后,它就结束了,因此拥有该值很有用。如果您希望它返回undefined
,请省略value
。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
相关文章:
- 将对象作为参数传递后的未定义属性
- 检查链接对象形式中未定义属性的最佳实践是什么
- PhantomJS中的evalute内部未定义属性
- 访问数字类型的未定义属性
- 如何处理未定义属性的未定义属性 javascript 类型错误
- 返回未定义属性的脚本
- 类型错误:无法读取 ng-repeat 的未定义属性
- JavaScript-Disqus如何处理其“;disqus_config”;包含未定义属性的函数
- 是对HTMLElement#样式的未定义属性的赋值的返回值,保证与赋值相同
- 最好检查未定义属性或设置为空
- 如何解决这个未定义属性的node.js错误?
- 如何在JavaScript中挽救对象的未定义属性?
- AngularJS和PHP -注意:未定义属性:stdClass
- 主干模型删除未定义属性
- if else子句中未定义对象的未定义属性
- Javascript数组问题:无法读取未定义属性
- 当尝试使用未定义属性进行筛选时,Lodash将排除项
- 在Javascript数组的中途未定义属性
- Knockout arrayForEach未定义属性
- javascript中未定义属性的简写,初始化和赋值属性