В небрежном режиме оператор удаления возвращает true
для всех случаев, кроме случаев, когда свойство является собственным ненастраиваемым свойством, и в этом случае возвращается false
.
В строгом режиме выдается ошибка, если свойство является собственным ненастраиваемым свойством.
Дескриптор свойства имеет настраиваемое значение , Если true , свойство может быть изменено или удалено из соответствующего объекта.
Переменные, объявленные с var , имеют для настраиваемый значение false
, (для необъявленных глобальных переменных установлено значение true
)
В вашем коде delete
возвращает false
, но вы не проверяете его.