Array extras and Objects

Dmitry Soshnikov dmitry.soshnikov at gmail.com
Wed Nov 30 23:59:20 PST 2011


On 01.12.2011 11:51, Dmitry Soshnikov wrote:
> On 01.12.2011 11:47, Andrea Giammarchi wrote:
>> Let's say this is an attempt to bring some new, easy to implement, 
>> method for the native Object.prototype
>> Specially about forEach, the most used Array.prototype method out 
>> there, it's quite clear JS developers would like to have similar 
>> method to iterate over objects, as key:value pairs rather than 
>> index:value.
>>
>> Almost every framework/library out there has an "error prone" 
>> each(obj, callback) method, able to automagically recognize if the 
>> passed obj is an array, an arrayLike, or an object.
>> A classic failing scenario is a function used as object, where the 
>> length property won't mean it's an arrayLike entity.
>>
>> As summary, I wonder if this proposal could make things more 
>> explicit, easy to remember, and faster, if implemented natively:
>> https://gist.github.com/1410420
>>
>> where more details about the "why" and "how", through examples, are 
>> explained in my post:
>> http://webreflection.blogspot.com/2011/11/array-extras-and-objects.html
>>
>> The quick version, and all I am asking is an opinion about this, is
>>
>> obj.forEach(function (value, key, original) {
>>   // all true conditions
>>   original.hasOwnProperty(key);
>>   value === original[key];
>>   original === obj;
>>   this === optionalContext;
>> }, optionalContext);
>>
>
> Yep, the topic was raised before (by me in particular) of implementing 
> richer standard libraries for all classes (Array and Object are first 
> on this list; and especially `forEach' for Object instances). On what 
> Allen said that time something like "before proposing many methods for 
> classes, let's understand first where we go w/ classes at all".
>

https://mail.mozilla.org/pipermail/es-discuss/2011-July/015891.html (I 
slightly rephrase that as I see :))

> Which though doesn't cancel the fact that JS has pure lib for standard 
> library. Of course monkey patching allows to fix this issues ourselves 
> (w/o waiting while the committee start to move in this direction), but 
> of course it's good to have this functionality built-in.
>
> Dmitry.
>
>> Thanks for any sort of feedback.
>>
>> Best Regards
>>
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20111201/9804ac13/attachment-0001.html>


More information about the es-discuss mailing list