01:22 | <Domenic> | Statics relying on receiver has always felt nice to me, as a personal fan of type II subclassing (but no further!). However web platform classes don't support it in general and I was never able to muster much interest in improving that. |
01:22 | <Domenic> | I think the Array.of behavior is bad though, either bite the bullet and be this -dependent, or hard-code something. Don't waffle between them. |
11:26 | <nicolo-ribaudo> | Being able to use the method without a receiver is nice though, because I can do const { of } = Array and then directly use it (for the people that don't trust "other code" to not mess with built-ins) |
11:27 | <littledan> | yes, this was a popular thing to do with earlier Promise libraries which ES6 took away... |
11:29 | <yulia> | not sure we can remove type two anyway.. |
11:30 | <littledan> | I guess the question locally isn't what to do about existing things but what we should do going forward |
21:54 | <TabAtkins> | Looking over the Yulia/Domenic document, yeah, I support Type I in general for future stuff. |
21:55 | <TabAtkins> | aka zero magic, just the most basic "you can subclass this and call super()" behavior |
21:56 | <TabAtkins> | And that, in particular, supports the const {of} = Array use-case without any extra effort, since the implementation would just be hardcoding the constructor to use anyway and doesn't care about the receiver. |