Updates:
Status: WorkingAsIntended
Comment #1 on issue 1798 by [email protected]: TypeError not (properly?)
raised
http://code.google.com/p/v8/issues/detail?id=1798
According to ES5 spec 8.6.2, "When an algorithm uses an internal property
of an object and the object does not implement the indicated internal
property, a TypeError exception is thrown."
Assuming that 'doc' is a defined object, 'doc.nonexistent' is an access to
the named property 'nonexistent' of 'doc' using the internal property
[[Get]], which is defined in 8.12.3 to return undefined.
Now, 'doc.nonexistent.a' is an access to the named property 'a'
of 'doc.nonexistent'. The latter is, as previously noted, undefined, which
does not implement the [[Get]] internal property. Therefore, as previously
mentioned (8.6.2), a TypeError is thrown.
I hope this helps.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev