I see, cool stuff then, I've missed that thanks.
On Fri, Mar 8, 2013 at 3:42 PM, Rick Waldron <[email protected]> wrote: > > > > On Fri, Mar 8, 2013 at 6:31 PM, Andrea Giammarchi < > [email protected]> wrote: > >> also .. how that happened that Array.from is basically the equivalent of >> >> Array.from = Function.call.bind(Array.prototype.map); ? >> >> Wasn't the initial reason to Array.from avoid the repeated all over >> everywhere [].slice.call(arguments) where a signature slice-alike would be >> more suitable so instead of Array.from(arguments).slice(1), as example, one >> would Array.from(arguments, 1) ? >> > > The addition of a "map callback" is to give subclasses, that inherit > Array.from() a way of creating new "collection likes", of their _own_ type. > You wouldn't want subclasses to return the parent classes type: > > class Vector extends Array {} > > Vector.from( ... ) // I want a new Vector, not an Array. > > The example I gave during Allen's presentation: > > var nodelist = NodeList.from(["div"], nodeName => > document.createElement(nodeName) ); > > Full discussion: > https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-01/jan-29.md#48-refactored-new-operator-and-the-create-method(search > for "Conclusion/Resolution, Bullet 2") > > The proposed and accepted solution: > https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-01/jan-30.md#revising-the-array-subclassing-kind-issue > > Rick > > > >> >> Thanks again :-) >> >> >> >> On Fri, Mar 8, 2013 at 3:26 PM, Andrea Giammarchi < >> [email protected]> wrote: >> >>> am I understanding mixin correctly? >>> >>> 'mixin' in Object || (Object.mixin = function mixin( >>> target, source >>> ) { >>> for(var >>> keys = Object.getOwnPropertyNames(source), >>> i = keys.length; i--; Object.defineProperty( >>> target, >>> keys[i], >>> Object.getOwnPropertyDescriptor( >>> source, >>> keys[i] >>> ) >>> ) >>> ); >>> return target; >>> }); >>> >>> thanks >>> >>> >>> On Fri, Mar 8, 2013 at 2:35 PM, Allen Wirfs-Brock <[email protected] >>> > wrote: >>> >>>> The March 8, 2013 Rev 14 draft is now available at the usual place: >>>> http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts >>>> >>>> Changes include: >>>> >>>> - Class bodies are now always string >>>> - *static* methods may now be defined in *ClassBody* >>>> - Updated comprehension syntax to use left-to-right order >>>> - Eliminated *is* and *isnt* operators >>>> - added grammar productions to allow unqualified super to be used >>>> after new operator >>>> - expression to the right of *of* in *for-of* now restricted to >>>> being *AssignmentExpression* >>>> - Almost all Chapter 15 constructors are now specified to have an >>>> @@create methid and are initialized in a manner that supports >>>> subclassing. >>>> (still need to work on Function) >>>> - Added Object.getOwnPropertyKeys function >>>> - Added Object.is function >>>> - Tentatively added Object.mixin function >>>> - Array.from now takes an optional map function >>>> - Added String.prototype.normalize method >>>> - All String.prototype methods that accept RegExp arguments will >>>> now work with subclasses of RegExp >>>> - Renamed Number.prototype.toInt to Number.prototype.toInteger >>>> - RegExp global, ignoreCase, multiline, source, sticky are now >>>> prototype accessor properties rather than instance own data properties. >>>> This is needed to support adding web compatible compile method. >>>> - Added new RegExp.prototype methods that allow string methods to >>>> work with RegExp subclasses: match, replace, search, split, @@isRegExp >>>> - Map and Set constructors now accept a =n optional comparator >>>> parameter. Only value currently allowed is “is” >>>> - ArrayBuffer and *Typed*Array object length no long restricted to >>>> 232 limit >>>> - Eliminated all remaining references to [[Class]] and >>>> [[NativeBrand]] (except for in some DataView code that needs rewritting >>>> anyway) >>>> - Added SameValueZero abstraction operation that considers -0 and >>>> +0 to be the same value. >>>> - Rename [[GetP]] to [[Get]] and [[SetP]] to [[Set]] >>>> - Specified that unless otherwise indicated, internal data >>>> properties are created when an object is allocated. Internal data >>>> properties are now explicitly listed in ObjectCreate abstract operation >>>> calls. >>>> - internally consolidated >>>> [[IsExtensible]]/[[IsSealed]/[[IsFrozen]] and >>>> [[PreventExtensions]]/[[Seal]]/[[Freeze]] into two MOP operations >>>> [[HasIntegrity]] and [[SetIntegrity]]. However, no public APIs (Proxy >>>> traps >>>> and Reflect functions) changed. >>>> - Numerous editorial and technical corrections, clarifications, >>>> and bug fixes >>>> >>>> >>>> >>>> _______________________________________________ >>>> es-discuss mailing list >>>> [email protected] >>>> https://mail.mozilla.org/listinfo/es-discuss >>>> >>>> >>> >> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss >> >> >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

