В настоящее время я читаю «Структуры данных и алгоритм с JavaScript» Майкла Макмиллана. На странице 39 он реализует функцию clear
для списка, т. Е. Функция очищает элемент списка.
function clear() {
delete this.dataStore;
this.dataStore = [];
this.listSize = this.pos = 0;
}
Не назначит this.dataStore
при undefined
или null
достижениятот же результат? Или почему бы сразу не присвоить пустой массив this.dataStore
?
Я прочитал , что delete
удаляет свойство из объекта и, если больше нет ссылок на то же свойство, оно в конечном итоге автоматически освобождается.
Как вы можете видеть выше, он удаляет его, а затем воссоздает. Так имеет ли смысл оператор delete
, если он все равно не хочет освобождать свойство? Не будет ли просто повторное присвоение this.dataStore
с пустым массивом []
более эффективным и одинаково эффективным?