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);
С этой темой смотрят: