0

I would like to ask questions about 'delete' operator in Javascript

Why

delete window.document; // returns false

but

delete navigator.geolocation; // returns true

I try other properties of navigator and it still returns true

I have checked the IDL in webkit, document and navigator are both of readonly,
and they dont have DontDelete attribute but why I can delete one but not for the other???

allstars.chh
  • 89
  • 1
  • 7

1 Answers1

1

If you'd like to understand the delete operator, wrap your mind around the javascript spec section 11.4.1

There are several cases where the operator should evaluate to true without mutating any objects.

From 8.12.7, the operator checks checks an internal [[Configurable]] property of the property descriptor to enforce readonly properties.

hurrymaplelad
  • 26,645
  • 10
  • 56
  • 76