waldron.rick at gmail.com
Wed May 14 08:00:50 PDT 2014
On Wed, May 14, 2014 at 5:37 AM, Till Schneidereit <
till at tillschneidereit.net> wrote:
> On Wed, May 14, 2014 at 8:48 AM, Mathias Bynens <mathiasb at opera.com>wrote:
>> Previous discussion on this topic:
>> We should look at how existing utility libraries handle this behavior and
>> base any proposals on that IMHO. Underscore and Lo-Dash have [`_.first`](
>> http://lodash.com/docs#first) and [`_.last`](http://lodash.com/docs#last),
>> which both take an optional `callback` parameter, in which case all the
>> first/last `n` elements for which `callback` returns a truthy value are
>> returned. This seems like a sensible thing to add to the proposal.
> While I think having .last would be nice, I don't think it's worth the
> considerable backwards-compatibility issues. We had to temporarily back out
> Array#values from SpiderMonkey until we implement @@unscopable
> semantics, because we ran into serious real-world breakage. I'm pretty
> sure that "last" would break a lot more code, as it's even easier to think
> up scenarios where that'd be used as a property name on an array used in
> application logic.
> At the very least, I think having Array#last be a getter is entirely
> untenable: a method would at least just be overwritten in most cases,
> whereas a read-only accessor would just (silently, in non-strict code)
> fail. A read-write accessor would probably be even worse: it'd silently (in
> all code) do something entirely different than it did before.
> I do, however, like Axel's proposal of adding .get() and .set() to
> Array.prototype, and think that that'd be way less of a compatibility issue.
> : http://esdiscuss.org/topic/array-prototype-last#content-5
I forgot about this, thanks for posting. I like get() much better as it can
be a "first" or a "last" (or any in between) with less surface impact.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss