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

Reply via email to