Загрузка…
Загрузка…
Оператор delete удаляет собственное свойство объекта. После удаления ключ пропадает (или становится невидимым при обычном доступе), если свойство было configurable.
const user = { name: "Ann", age: 30 };
delete user.age;
console.log(user); // { name: "Ann" }
console.log("age" in user); // falselet/const/var (в strict — ошибка на delete x).false/ошибку).configurable: false не удаляются."use strict";
Object.defineProperty(obj, "id", { value: 1, configurable: false });
delete obj.id; // TypeError в strictdelete arr[1] делает «дыру» (empty), длина не уменьшается. Для массивов обычно splice / filter.
const a = [1, 2, 3];
delete a[1];
// [1, empty, 3], length === 3Итог: delete — удаление own-свойства объекта; для переменных и «чистого» массива почти всегда есть лучшие инструменты.
