оператор удаления в JavaScript - PullRequest
0 голосов
/ 30 мая 2011

Я хотел бы задать вопросы об операторе удаления в Javascript.

Почему

delete window.document; // returns false

но

delete navigator.geolocation; // returns true

Я пробую другие свойства navigator, и он по-прежнему возвращает true

Я проверил IDL в webkit, document и navigator только для чтения,
и они не имеют атрибута DontDelete но почему я могу удалить одно, а не другое ???

1 Ответ

1 голос
/ 09 сентября 2011

Если вы хотите понять оператор delete, обратите внимание на раздел javascript spec 11.4.1

В некоторых случаях оператор должен оценить true не мутируя никакие объекты.

Начиная с 8.12.7, оператор проверяет внутреннее свойство [[Configurable]] дескриптора свойства для обеспечения свойств только для чтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...