The more I think about it, I still can't come up with any really exciting use cases where Array.of would outshine anything that already exists. I say strike it from the wishlist.
Array.from() still rules. Rick -- Sent from my Palm Pre On Jul 10, 2011 12:59 PM, Dmitry A. Soshnikov <dmitry.soshni...@gmail.com> wrote: On 10.07.2011 20:36, Brendan Eich wrote: > On Jul 10, 2011, at 3:06 AM, Dmitry A. Soshnikov wrote: > >> Array.from is a good addition, I guess any good framework has it. >> >> Though, `Array.of` in contrast doesn't bring much of a sugar. Compare these two apples-to-apples: >> >> Array.of( "things", "that", "aren't", "currently", "an", "array" ) >> >> vs. >> >> ["things", "that", "aren't", "currently", "an", "array"] >> >> what's the goal in first case to write this useless "Array.of" prefix and exactly the same to manually enumerate the items? In fact, the second one is more suggared than the first one (the first one is: "added useless prefix Array.of and brackets around items are replaced with call parens"). > Note that JS's pattern for alternative constructors is String.fromCharCode, Array.from, etc. -- "class methods". > Yes, that's OK with `Array.from`. That's said, many libs have such a util. Some langs, e.g. Ruby just expose such a possibility as instance method. That is, an object there can just call its inherited method `to_a` to convert `self` to array value. Though, `Array.from(...)` seems better for JS for the same reason as `Object.defineProperty` is placed on `Object` instead of the `Object.prototype`. > So the goal of Array.of is to provide a constructor that, unlike Array, does not have that insane special case for Array(42), which presets length (and hints to implementations to preallocate) but leaves holes in [0, length). > I still don't see how it will help in manual enumeration of the same items which may be directly passed to brackets of array initialiser. We enumerate (by hands) items here, right? -- Array.of(1, 2, 3). And we enumerate items here (by hands also) -- [1, 2, 3]. The difference is that the second case syntactically more elegant and sugared and also doesn't require non-needed function activation with allocating call-stack frame, etc. Still `Array.of` seems just useless for me. Correct me if I'm wrong. But I'm all in for the `Array.from`. Dmitry. _______________________________________________ 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