Скажем, что у меня есть ассоциативный массив 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 кажется (относительно) значительно быстрее, чем удаление, хотя все предостережения, указанные ниже, также очень интересны (на самом деле, вероятно, я буду использовать удаление многого, чтобы избежать будущих ошибок из левого поля).