JavaScript: オブジェクトの名前変更キー 質問する

JavaScript: オブジェクトの名前変更キー 質問する

JavaScript オブジェクト内のキーの名前を変更する賢い (つまり最適化された) 方法はありますか?

最適化されていない方法は次のとおりです。

o[ new_key ] = o[ old_key ];
delete o[ old_key ];

ベストアンサー1

これを行う最も完全な(そして正しい)方法は、次のとおりだと思います。

if (old_key !== new_key) {
    Object.defineProperty(o, new_key,
        Object.getOwnPropertyDescriptor(o, old_key));
    delete o[old_key];
}

このメソッドにより、名前が変更されたプロパティが元のプロパティと同じように動作することが保証されます。

Object.prototypeまた、これを関数/メソッドにラップして配置する可能性は、あなたの質問とは無関係であると思われます。

おすすめ記事