JavaScript: Оператор delete
Оператор | Тип оператора | А | О | Типы значений |
---|---|---|---|---|
delete … |
Удаление | справа налево | 1 | lval → булево |
Оператор delete
используется для удаления свойств объекта и элементов массива. В случае успешного удаления оператор вернёт true
, иначе – false
:
var o = {x:1}; delete o.x; alert("x" in o); // false var a = [1, 2, 3]; delete a[1]; alert(1 in a); // false alert(a.length); // 3
Операция удаления элемента массива оставляет в массиве дырку
и не изменяет длину массива. В результате получается разреженный массив.
Оператор delete
не может удалить ненастраиваемые свойства, переменные, объявленные с помощью ключевого слова var
или let
, объявленные именованные функции (FD) и параметры функций:
var a = 5; b = 1; delete a; delete b; alert(a); // 5. Переменная не была удалена alert(b); // Ошибка. Переменная была удалена
Если операнд не является левосторонним выражением, оператор просто вернёт значение true
:
alert(delete 5);
С этой темой смотрят: