W3C home > Mailing lists > Public > public-webapps@w3.org > October to December 2010

Re: DOM collections index out of bounds and JavaScript.

From: Boris Zbarsky <bzbarsky@MIT.EDU>
Date: Mon, 18 Oct 2010 21:23:00 -0400
Message-ID: <4CBCF2F4.8040508@mit.edu>
To: Erik Arvidsson <arv@chromium.org>
CC: public-webapps@w3.org, Anne van Kesteren <annevk@opera.com>
On 10/18/10 8:51 PM, Erik Arvidsson wrote:
> When DOM was first spec'ed the collection interfaces all had some kind
> of item method. These methods sometimes return like null[1] and
> sometimes other values such as an empty string [2]. The JavaScript
> bindings for these allows us to use indexed getters instead of calling
> the item method.

I think in practice this has been a fiction in the edge case you're 
interested in.

> The problem is that trying to get a non existing property in JS should
> return undefined.

This is what UAs implement, yes (modulo bugs).

> Since we are
> trying to realign these specs with the web it would make sense to try
> to make them fit better with JavaScript and mandate that the JS
> bindings for collections should return undefined for getting an item
> out of bounds.

This has nontrivial compat risks, I suspect.  I've seen code that 
compares the return value of item() to null using ===...

I agree that using the [] notation should return undefined for 
out-of-bounds stuff; I'm pretty sure the indexgetter stuff already says so.

Received on Tuesday, 19 October 2010 01:23:34 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 18:13:13 UTC