Skip to main content

Видалення властивості з об'єкта

1. Оператор delete

Найпростіший і найпоширеніший спосіб:

javascript
const user = { name: 'Tim', age: 25, city: 'Kyiv' }; delete user.age; console.log(user); // { name: 'Tim', city: 'Kyiv' }

Оператор delete видаляє властивість прямо з об'єкта.


Важливо:

  • delete працює тільки з властивостями об'єкта, а не зі змінними.

  • Повертає true, навіть якщо властивості не існувало:

    javascript
    delete user.nonexistent; // true
  • Не впливає на прототип, тільки на сам об'єкт.


2. Через деструктуризацію (іммутабельний спосіб)

Якщо ти хочеш створити новий об'єкт без властивості, не змінюючи вихідний:

javascript
const user = { name: 'Tim', age: 25, city: 'Kyiv' }; const { age, ...updatedUser } = user; console.log(updatedUser); // { name: 'Tim', city: 'Kyiv' }

Тут ...rest збирає всі властивості, що залишилися - видалення відбувається "м'яко", без зміни оригіналу.


3. За допомогою Reflect.deleteProperty()

Це сучасна альтернатива delete, еквівалентна за змістом, але використовується в більш формальних сценаріях (наприклад, у метапрограмуванні).

javascript
const user = { name: 'Tim', age: 25 }; Reflect.deleteProperty(user, 'age'); console.log(user); // { name: 'Tim' }

Поведінка така сама, як у delete, але повертає true/false суворіше.


4. Обнулення або перевизначення (якщо не потрібно фізично видаляти)

Іноді безпечніше не видаляти, а просто обнулити значення:

javascript
user.age = null; // значення видалено логічно // або user.age = undefined;

Така властивість залишається в об'єкті, але її значення вважається "порожнім".


Підсумок

СпосібЗмінює вихідний об'єктЩо робитьПримітка
delete obj.keyТакВидаляє властивістьПростий і поширений спосіб
Reflect.deleteProperty(obj, key)ТакТе саме, але "офіційно"Використовується в метапрограмуванні
Деструктуризація { key, ...rest }НіСтворює новий об'єкт без властивостіІммутабельний підхід
obj.key = nullТак"Очищає" значення, але не видаляє ключЗручно при скиданні стану

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.