假设我有一个关联数组 Foo,带有键栏和值 xyz。
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
我的问题是,两者中哪一个更有效,它们有什么不同吗?是否存在我应该使用其中一个的场景?
谢谢!
结果:
感谢大家帮助并向我展示 jsperf。将其设置为 undefined 似乎(相对)比 delete 快得多,尽管下面指出的所有警告也非常有趣(事实上,我可能会在未来大量使用 delete 以避免将来出现 leftfield 错误)。