キー bar と値 xyz を持つ連想配列 Foo があるとします。
console.log(Foo['bar']);
>> xyz
delete Foo['bar'];
console.log Foo['bar'];
>> undefined
Foo['bar'] = 'xyz';
console.log(Foo['bar']);
>> xyz
Foo['bar'] = undefined;
console.log (Foo['bar']);
>> undefined
私の質問は、2 つのうちどちらがより効率的かということです。どちらか一方を使用する必要があるシナリオはありますか?
ありがとう!
結果:
助けてくれて、jsperf を見せてくれてありがとう。undefined に設定すると、delete よりも (比較的) 大幅に高速になるように見えますが、以下に指摘されているすべての注意事項も非常に興味深いものです (実際、レフトフィールドからの将来のエラーを回避するために、おそらく今後多くの delete を使用することになるでしょう)。