js中如何删除已定义的getter/setter?

__defineGetter__只能覆盖,有没有__removeGetter__这种呢?

因为把对象当哈希表时,总要避讳__proto__特殊键的存在是很烦的…(Object.create(null)也无法解决这个问题)

后来才发现,它不是一个引擎层的死设定,而是做成了getter/setter模式,换言之是有可能透明处理的,所以才有此一问。

——

要是__proto__特殊属性当时做成Symbol.iterator那样该多好…


四季花海
浏览 502回答 1
1回答

侃侃无极

供参考function cleanse (obj) {  var proto  Object.defineProperty(obj, '__proto__', {    enumerable: true,    configurable: true,    get: function () { return proto },    set: function (val) { proto = val }  })  return obj}var a = cleanse({})a.__proto__ = 2哈希表最好还是用 Map
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript