set.delete method name

Brendan Eich brendan at
Tue Feb 28 22:08:13 PST 2012

Mark S. Miller wrote:
> I appreciate the feedback, but I do not understand the rationale. Is 
> it just to avoid needing to say
>     map['delete'](key)
> when supporting old browsers without an ES5->ES3 translation step?

Yes. Isn't that enough friction? I think so based on long-standing pain 
that led us to unreserve keywords after dot.

I'm still open to remove because it's a better antonym to add. I do not 
think the base-level operator names (where they exist) must be re-used. 
But I may be missing a fine point here for why you prefer 'delete'?


> If there is no other downside, I'm inclined to stick with "delete".
> On Tue, Feb 28, 2012 at 11:49 AM, Adam Shannon <adam at 
> <mailto:adam at>> wrote:
>     I agree that it should be named "remove" rather than delete.
>     On Tuesday, February 28, 2012, Yehuda Katz wrote:
>         Just catching up on this discussion. I should point out that
>         this problem applies to Map and possibly other collections as
>         well.
>         Speaking as someone who is looking to use these features
>         today, I hit this problem immediately. Ember.js already has a
>         Map; we can reliably generate a unique id for any object (by
>         stashing it on the object; ok for our cases), and have a
>         reliable way to generate guids for non-Objects.
>         Ideally, we'd like to be able to say something like:
>         `if(typeof Map !== "undefined") { Ember.Map = Map; }`
>         (although we'd probably do more checks because shims in
>         general have worse performance characteristics).
>         Unfortunately, because of the `delete` problem, we cannot do
>         this. Because we are unwilling to monkey-patch Map directly,
>         we will have to create a shim object that delegates to the Map.
>         I'm sympathetic to the "let's not make choices based on old
>         broken browsers", but let's be fair here. The name `remove` is
>         perfectly clear. In five years, nobody is going to think twice
>         about that API, and web developers won't think twice about it
>         today. Using a clear name that also happens not to run afoul
>         of older browsers for shim purposes isn't caving to the past:
>         it's being pragmatic about helping people adopt a new feature
>         with very little cost.
>         Yehuda Katz
>         (ph) 718.877.1325 <tel:718.877.1325>
>     -- 
>     Adam Shannon
>     Developer
>     University of Northern Iowa
>     Sophomore -- Computer Science B.S. & Mathematics
>     _______________________________________________
>     es-discuss mailing list
>     es-discuss at <mailto:es-discuss at>
> -- 
>     Cheers,
>     --MarkM
> _______________________________________________
> es-discuss mailing list
> es-discuss at

More information about the es-discuss mailing list