javascript - force 属性始终未定义

标签 javascript

我想要一个永远未定义的属性:

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/

相关文章:

javascript - jQuery 获取表中当前元素下方的下一个元素

javascript - 如何追加到 Node 中的文件?

javascript - 为什么这个随机的、意外的水平线会出现在 IE7 中?

javascript - 如何使用 RxJS 将我的数据映射为正确的格式

javascript - 如何将文件从 HTML5 拖放到 Rails 3 应用程序和回形针?

javascript - 在 Leaflet 中显示来自 geojson 的 map 时设置缩放

javascript - 如何将 AJAX 返回的字符串转换为对象的 javascript 数组

javascript - "reduce"嵌套数组到带键对象的最快方法+按键查找的最快方法

javascript - Bootstrap 警报关闭不起作用,rails 3.2

javascript - 如何计算数字和逗号中有空格的表中的值