- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 2 Dec 2013 10:52:43 -0800
- To: Domenic Denicola <domenic@domenicdenicola.com>
- Cc: Elliott Sprehn <esprehn@gmail.com>, "Marat Tanalin | tanalin.com" <mtanalin@yandex.ru>, "www-dom@w3.org" <www-dom@w3.org>
On Mon, Dec 2, 2013 at 10:32 AM, Domenic Denicola <domenic@domenicdenicola.com> wrote: > From: Tab Atkins Jr. <jackalmage@gmail.com> >> It would be useful for HTML to do the same, so you could call "new HTML.div(...)" instead of "new HTMLDivElement(...)". > > This seems like a really cool plan. (Although of course ES6 modules would be better, but, no need to hold up the platform waiting for them... namespaces are fine in the meantime.) Agreed. >> It would also let us establish a one-to-one constructor to tagname correspondence, so "HTML.h1()" works instead of "HTMLHeadingElement('h1',...)". > > I guess it would not be a constructor in that case though, i.e. you'd do `var myH1 = HTML.h1()` instead of `var myH1 = new HTML.h1()`, since otherwise you would break the `new X instanceof X` invariant. Hm, I don't understand. instanceof just walks the prototype chains, and the functions denoted by "HTMLHeadingElement" and "HTML.h1" can have the same prototype. I suspect I'm missing something in your statement. ~TJ
Received on Monday, 2 December 2013 18:53:39 UTC