Ответ 1
Концепция этого...?
Атрибуты свойств. Каждое свойство, у которого есть атрибут configurable
, установленный на false
, не может быть delete
d (который терпит неудачу в неаккуратном режиме и бросает в строгом режиме).
Как выяснить, можно ли удалить свойство?
Вы можете использовать Object.getOwnPropertyDescriptor()
функцию для доступа к атрибутам как к объекту:
var isDeletable = Object.getOwnPropertyDescriptor(obj, "propName").configurable;
Обратите внимание, что это будет работать только для собственных свойств obj
, а не для унаследованных; для тех, кому вы должны будете вызвать функцию на соответствующем прототипе.