Re: [webcomponents] defineElement should not cache lifecycle callbacks and prototype of a custom element class (#417)

@rniwa, @travisleithead, @annevk, what are your thoughts on this? Did you find my argument at https://github.com/w3c/webcomponents/issues/417#issuecomment-192594110 at all compelling, that this is more of a semantic/behavioral issue than a performance issue?

@annevk regarding

> It's still all a little weird though, especially since a subclass will do these [[Get]] and such if it uses super().

while this is going to be true in general, I think a subclass that was trying to emulate the bulletproof behavior of built-ins would go a different route, and save references to `uncurryThis(ParentClass.prototype.attributeChangedCallback)` ahead of time. ([uncurryThis from here](http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming).) This is in general part of a large series of changes in programming style such a class would have to make, in order to go through the original operations instead of doing a [[Get]], like saving `uncurryThis(Element.prototype.getAttribute)` ahead of time and never using `this.getAttribute`.

---
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webcomponents/issues/417#issuecomment-195114636

Received on Friday, 11 March 2016 00:25:28 UTC