Источник: Nuances of Programming delete 0 Когда выполняется delete 0, произойдет ли удаление 0 из системы выполнения? Очевидно, нет, истинная цель оператора — удалить ссылку на свойство объекта. delete object.property
delete object['property'] Как правило, успешное удаление возвращает true, а неудачное — false, но есть некоторые исключения. Собственные свойства Оператор delete работает только с собственным свойством объекта. Если в цепочке прототипов окажется свойство с таким же именем, это свойство будет пропущено. Object.prototype.name = 1;
const object = {
name: 2,
};
// Действует только в отношении собственных свойств.
console.log(delete object.name); // true
console.log(object.name); // 1
// Но мы можем напрямую манипулировать объектом-прототипом.
console.log(delete Object.getPrototypeOf(object).name); // true
console.log(object.name); // undefined Несуществующее свойство Если удаляемое свойство не существует, delete не будет иметь никакого эффекта, но все равно вернет true.