JavaScript Reflect.deleteProperty() — видалити властивість об'єкта


Метод Reflect.deleteProperty() видаляє властивість — це функціональна форма оператора delete.

автор: NagarD

Загальний опис

Повертає true, якщо видалення вдалося, і false, якщо ні (наприклад, властивість заморожена). Оператор delete у нестрогому режимі в такому разі просто мовчить.

У парі з Proxy реалізує пастку deleteProperty — так забороняють видаляти службові поля.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
deleteProperty 49+ 42+ 10+ 36+ 12+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
deleteProperty 49+ yes yes 10+

Приклади

+ запропонувати свій приклад у пісочниці

Заборонити видалення службових полів.

const user = { name: 'Іван', id: 1 };

console.log(Reflect.deleteProperty(user, 'name')); // true

const protectedUser = new Proxy(user, {
    deleteProperty(target, key) {
        if (key === 'id') {
            console.warn('id видаляти не можна');
            return false;
        }

        return Reflect.deleteProperty(target, key);
    },
});
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід