2017-05-15 11 views
1
Object.prototype.prefixKeys = function (prefix) { 
for (var key in this) 
    this.hasOwnProperty(key) 
    && Object.defineProperty(this, prefix + key, {value: this[key]}) 
    && delete this[key] 
} 

上記のコードは、Chromeのコンソールでは正常に動作します。しかし、ノードv6.10.2のキーを削除するだけです。私は間違って何をしていますか?Node.jsのJSキーの名前変更がNode.jsで機能しない

+0

あなたは手に入れますか? – Sventies

+0

エラーはありません。ただ空のオブジェクト –

答えて

3

接頭辞のキーは、まだオブジェクトに存在しますが、あなたは、console.log(obj)を言うとき、彼らが現れるようにしたい場合は、プロパティenumerableを行う必要があります。

エラーメッセージ
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] 
} 

+0

これは天才です。 –

+0

あなたは私を救った、多くの感謝! P .:プロパティがデフォルトで列挙できないことに驚いた... –

関連する問題