- From: Jonas Sicking <jonas@sicking.cc>
- Date: Tue, 15 Jun 2010 16:45:10 -0700
On Tue, Jun 15, 2010 at 4:01 PM, Garrett Smith <dhtmlkitchen at gmail.com> wrote: > Jonas suggested I fwd these comments to the list. > > ---------- Forwarded message ---------- > From: Garrett Smith <dhtmlkitchen at gmail.com> > Date: Tue, 15 Jun 2010 15:04:16 -0700 > Subject: Re: [whatwg] Don't throw for HTMLInputElement.files > To: Jonas Sicking <jonas at sicking.cc> > > On 6/15/10, Jonas Sicking <jonas at sicking.cc> wrote: >> Hi All, >> >> Currently HTMLInputElement.files throws if accessed when type != >> "file". I think it would be better to return null or an empty list. We >> generally try to avoid throwing in general, and in particular things >> like HTMLInputElement.checked doesn't throw even if the value doesn't >> apply. So for consistency I don't think HTMLInputElement.files should >> throw either. >> > > The calling code can perform a check - if(x.type == "file") -. I can't > see a good reason for not having x.files be designed to return > `undefined`. Besides, throwin an error there is totally inconsistent > with other state-specific properties (like `valueAsNumber` or > `valueAsDate` etc). On those, both of those are needless complexity > anyway; +inp.value is a common-use alternative to valueAsNumber and > valueAsDate can be gotten by using the Date constructor, which, > although buggy in Firefox, is specified in ES5 to parse a superset of > the ISO8601 formats in HTML5. > >> Another reason not to throw is that people every so often enumerate >> all the IDL attributes of element using |for each| constructs in > > The for-in loop. |for each| is a spidermonkey syntax extension. It is > not widely implemented and nobody uses it. Yeah, my bad. I meant a |for (i in ...)| loop. This doesn't change anything about my argument though. / Jonas
Received on Tuesday, 15 June 2010 16:45:10 UTC