For a normal ("Native") JavaScript objects, where the property name is a valid identifier, the expressions x.y
and x["y"]
are always semantically equivalent.
Is this equivalency guaranteed for Host Objects?
[..an] object supplied by the host environment to complete the execution environment of ECMAScript.
If not, are there notable exceptions? (In Cocoon, Crosswalk, IE, etc?)
In particular I am interested in the Window (window
) and other DOM Objects; and if there are any known "exceptions" to the expected behavior, or if there are any environments in where such is possible.
It should be identical. From Section 11.2.1 (Property Accessors) of the Ecma-262 Edition 5.1, we have: