JavaScript Reflect.deleteProperty() — видалити властивість об'єкта
Метод Reflect.deleteProperty() видаляє властивість — це функціональна форма оператора delete.
Загальний опис
Повертає true, якщо видалення вдалося, і false, якщо ні (наприклад, властивість заморожена). Оператор delete у нестрогому режимі в такому разі просто мовчить.
У парі з Proxy реалізує пастку deleteProperty — так забороняють видаляти службові поля.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| deleteProperty | 49+ | 42+ | 10+ | 36+ | 12+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| 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);
},
});
Коментарі
Коментарів ще немає — будьте першим!