Концепция этого ...?
Property attributes. Каждому свойству, у которого есть свой атрибут configurable
, установленный на false
, не может быть delete
d (который терпит неудачу в неаккуратном режиме и бросает в строгом режиме).
Как выяснить, может ли свойство быть удаляемым?
Вы можете использовать Object.getOwnPropertyDescriptor()
function, чтобы получить доступ к атрибутам в качестве объекта:
var isDeletable = Object.getOwnPropertyDescriptor(obj, "propName").configurable;
Обратите внимание, что это будет работать только для собственных свойств obj
, не наследуется из них; для тех, кому вы должны будете вызвать функцию на соответствующем прототипе.
Это было быстро и близко к совершенству! Спасибо – xameeramir
@student: Только близко ?! Скажите, пожалуйста, что я могу улучшить или предложить изменить :-) – Bergi
Потому что мы живем в [неидеальном] (http://sd.keepcalm-o-matic.co.uk/i/nobody-is-perfect -im-nobody - 2.png) мир;) – xameeramir