Catch-all pattern in DOM APIs considered harmful (was: ECMA TC 39 / W3C HTML and WebApps WG coordination)

David-Sarah Hopwood david-sarah at
Fri Sep 25 11:23:13 PDT 2009

Maciej Stachowiak wrote:
> Let me give a concrete example, the HTMLCollection interface from HTML5:
> <>.
> This interface is defined to have "getter" properties which imply
> catchall getters for index and non-index properties. This is implemented
> by all existing browsers and is needed for compatibility with a lot of
> Web content. It is also required by DOM Level 2 HTML's ECMAScript
> bindings:
> <>. The
> fact that ECMAScript 5 can't implement an interface that behaves like
> this is an ECMAScript issue, not an HTML issue, in my opinion, and one
> that will hopefully be fixed in future editions.

Note that if a future edition of ECMAScript were to support catch-alls,
it would still not be a good idea to define any new APIs similar to
HTMLCollection, that have the problem of names defined in HTML/XML/CSS
potentially colliding with ECMAScript method names (or method names in
other languages). Such APIs are confusing, error-prone, and detrimental
to forward compatibility and language independence.

David-Sarah Hopwood  ⚥

More information about the es-discuss mailing list