> Problem: How do you invoke methods on table?
>
> table.tellAxel = function() {alert('here is a method call');};
> table['tellAxel'] = function() {alert('here is a function entry");};
> table.tellAxel(); // here is a method call
> table['tellAxel'].apply(null,[]); // here is a function entry
>
> Using AWB’s terminology, accessing properties is part of the program
> definition domain, accessing collection elements is part of the application
> data domain. And it’s better not to mix the two.
>
> Yes, that is exactly the point.
So you are arguing in favor of approach #1, right? Then I would make “your” Map
a subtype of Object. typeof is currently best limited to primitives (and to
distinguishing them from objects), so introducing a new result would suggest
adding a new primitive. But I don’t think that is necessary: Once the semantics
of [] have been changed in accordance with approach #1 then you can just write
a library that provides Maps and other collections.
--
Dr. Axel Rauschmayer
[email protected]
twitter.com/rauschma
home: rauschma.de
blog: 2ality.com
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss