set.delete method name
Brendan Eich
brendan at mozilla.org
Sun Feb 12 10:45:02 PST 2012
JS avoids cybercrud names where possible, following Java which followed
Smalltalk. But we do prefer concise verb-only methods where possible (no
Kingdom of Nouns AbstractFactoryFactoryImpl names as in real-world Java;
Smalltalk is better precedent but message selectors can afford to be
more verbose when strung together than a single method name in JS should
be).
So 'del' is too short. We had remove at some point, could go back to it.
That seems like the best all-around name.
Thinking of collection *protocols* with suites of methods that have
canonical names (get, force, set, has, remove) helps.
/be
Andrea Giammarchi wrote:
> to me "del" was simply good enough, at least as fallback
>
> On Sun, Feb 12, 2012 at 6:22 PM, Rick Waldron <waldron.rick at gmail.com
> <mailto:waldron.rick at gmail.com>> wrote:
>
> It would be tragic to determine future APIs based on _broken_
> implementations of historic/archaic browsers - especially in an
> age where the browser isn't the only "client" of the spec.
>
>
> Rick
>
> On Feb 12, 2012, at 7:24 AM, Andrea Giammarchi
> <andrea.giammarchi at gmail.com <mailto:andrea.giammarchi at gmail.com>>
> wrote:
>
>> +1
>>
>> had same thoughts when I wrote this:
>> https://github.com/WebReflection/es6-collections
>>
>> then I have realized older IE compatibility requires the usage of
>> the string but I would have rather suggested
>>
>> del
>>
>> instead of remove so get, set, has, del ... all 3 chars, no
>> problems with reserved keywords
>>
>> br
>>
>>
>>
>> On Sun, Feb 12, 2012 at 8:11 AM, Peter Michaux
>> <petermichaux at gmail.com <mailto:petermichaux at gmail.com>> wrote:
>>
>> The Set proposal has a "delete" method. Old ECMAScript
>> implementations
>> do not allow "delete" to appear as a bare method name like
>> set.delete('foo') and it is necessary to write the awkward
>> set['delete']('foo'). Because of this and knowing polyfills
>> will be
>> written to support Set in older implementations, would it be
>> better to
>> choose "remove" as the method name so that set.remove('foo')
>> can be
>> written in the older implementations? I think this would save
>> a lot of
>> unnecessary debugging for cross-browser programming.
>>
>> Peter
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org <mailto:es-discuss at mozilla.org>
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org <mailto:es-discuss at mozilla.org>
>> https://mail.mozilla.org/listinfo/es-discuss
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
More information about the es-discuss
mailing list