Another way to look at this is that there is no way to prevent a caller from 
using methods from the superclass on a subclass. In other OO languages, its 
much harder (or nearly impossible depending on the language) to forcibly call a 
superclass method against a subclass that has been overridden by the subclass. 

Tab wouldn't have this issue if there were a way to prevent an external caller 
from executing Map.prototype.set.call(mapSubclass) if the mapSubclass overrides 
`set`.

Ron
________________________________________
From: es-discuss-boun...@mozilla.org on behalf of Tab Atkins Jr.
Sent: Friday, May 24, 2013 5:08 PM
To: Jason Orendorff
Cc: EcmaScript
Subject: Re: Non-generic traps for non-generic objects (was: Overriding Map/etc 
with get/set hooks?)

On Fri, May 24, 2013 at 11:53 AM, Jason Orendorff
<jason.orendo...@gmail.com> wrote:
> On Fri, May 24, 2013 at 12:02 PM, Tab Atkins Jr. <jackalm...@gmail.com>
> wrote:
>> On Fri, May 24, 2013 at 9:27 AM, Jason Orendorff
>> <jason.orendo...@gmail.com> wrote:
>> > Counterproposal: address this in WebIDL. Add a magic [Maplike] tag that
>> > means something like: [...]
>>
>> [...] It's not the *best* solution, because the easy magic is only there
>> for
>>
>> spec authors, but it's the best so far.
>
>
> I see your point. I think this is a case where spec authors definitely have
> a problem, but JS programmers will not sweat it that much.
>
> In JS it's just so easy:  https://gist.github.com/jorendorff/5645591

That's only "easy" because we can assume that authors will manually
adjust their code when we add more Map methods, or if they want to add
their *own* Map methods.  That's the exact thing I'm complaining
about, except that we can't assume that specs will get updated in this
way.

~TJ
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to