javascript - 如何更改 Javascript 对象属性的可写可枚举和可配置值?

标签 javascript

来自节点repl:

foo = { bar: 'baz'};
console.log (Object.getOwnPropertyDescriptor(foo, 'bar'))

返回值:

{ value: 'baz',
  writable: true,
  enumerable: true,
  configurable: true }

如何将 writable enumerable 和 configurable 更改为 false?这些值叫什么?它们是 ES5.1 的一部分吗?还有repl没有输出的吗?

最佳答案

"How do you change the writable enumerable, and configurable to false?"

Object.defineProperty(foo, 'baz', {
    enumerable:false,
    writable:false,
    configurable:false
});

还有 Object.definePropertiesObject.create 是一样的,只是你可以设置多个属性,它让你创建一个新对象,并设置它的原型(prototype)对象及其描述符。

"What are these values called?"

它们是属性描述符。

"Are they part of ES5.1?"

是的,ES5。

"Are there more that the repl didn't output?"

还有什么,属性描述符?没有。

关于javascript - 如何更改 Javascript 对象属性的可写可枚举和可配置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279177/

相关文章:

javascript - 代码美化器和格式化器

javascript变量到jade模板中-服务器端

javascript - 当删除最后一个插入表行时,第一个表行的第二个单元格的宽度变为0

javascript - 如何仅从网格外部访问 Kendo Grid 列菜单并为列标题中的特定列添加筛选选项

javascript - 如何检测表中动态生成的行

javascript - !!(new Number(0)) == true,但是 !!(Number(0)) == false,为什么?

javascript - 请求在竞争条件下定期返回空

javascript - 如何在 cookie 中存储其他语言 (unicode) 并再次取回

javascript - 将 Angular 表达式替换为字符串中的静态值

javascript - Javascript 中的 const 关键字作用域