Javascript JS密钥重命名,defineProperty赢得';无法在Node.js中工作
上述代码在chrome控制台中正常工作。但只删除节点v6.10.2中的键。我做错了什么?对象上仍然存在带前缀的键,但是如果您希望它们在运行时显示,比如说Javascript JS密钥重命名,defineProperty赢得';无法在Node.js中工作,javascript,node.js,Javascript,Node.js,上述代码在chrome控制台中正常工作。但只删除节点v6.10.2中的键。我做错了什么?对象上仍然存在带前缀的键,但是如果您希望它们在运行时显示,比如说console.log(obj),则需要使属性可枚举: Object.prototype.prefixKeys = function (prefix) { for (var key in this) this.hasOwnProperty(key) && Object.defineProperty(this, p
console.log(obj)
,则需要使属性可枚举
:
Object.prototype.prefixKeys = function (prefix) {
for (var key in this)
this.hasOwnProperty(key)
&& Object.defineProperty(this, prefix + key, {value: this[key]})
&& delete this[key]
}
您收到了哪条错误消息?没有任何错误,只有空对象这是天才,就这么简单。您救了我,非常感谢!附言:令人惊讶的是,默认情况下属性不可枚举。。。
Object.prototype.prefixKeys = function (prefix) {
for (var key in this)
this.hasOwnProperty(key)
&& Object.defineProperty(this, prefix + key, {
value: this[key],
enumerable: true
})
&& delete this[key]
}