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