[random interjection] On Sun, May 11, 2014 at 9:41 PM, Domenic Denicola <[email protected]> wrote: > Part of the issue is might be that you are seeing things in terms of > TypeScript, instead of in terms of JavaScript. In JavaScript, those generic > type parameters are meaningless, and the entire idea of a "interface" is > meaningless. In JavaScript, there are constructible classes, and nothing else. > > The design you outline seems to be toward some sort of "abstract base class" > idea, where there is no implementation of get/has/set/delete/forEach, but > there is an implementation of "generic *async* Map operations", viz. > clear/entries/keys/values. But JavaScript doesn't have abstract base classes!
Note, though, that WebIDL *does* have things that can act like "abstract base classes", and that's exactly what [MapClass] does. It's meant to be a guide for consistent designs, and also happens to provide default implementations of some things for convenience. ~TJ
