Унарный оператор delete выполняет попытку удалить свойство объекта, элемент массива или переменную, указанную в его операнде. Он возвращает true, если удаление прошло успешно, и false в противном случае. Не все переменные и свойства могут быть удалены - некоторые встроенные свойства из базового и клиентского языков JavaScript устойчивы к операции удаления.
Кроме того, не могут быть удалены переменные, определенные пользователем с помощью инструкции var. Если оператор delete вызывается для несуществующего свойства, он возвращает true. Оператор delete также возвращает true, если его операнд не является свойством, элементом массива или переменной (это не вполне понятное поведение, но оно определено стандартом).
ПРИМЕЧАНИЕ. Программистам на С++ следует помнить, что в JavaScript оператор delete ведёт себя не так, как в С++. В JavaScript освобождение памяти выполняется автоматически, поэтому полностью удалять объекты, чтобы освободить память (как в С++), нет необходимости.
Примеры:
Удаленное свойство, переменная или элемент массива не просто устанавливается в undefined. Когда свойство удалено, оно прекращает существование.
Также оператор delete влияет только на свойства, но не на объекты, на которые эти свойства ссылаются. Пример:
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.