<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">not exactly, you'd have to use getOwnPropertyKeys rather than getOwnPropertyNames.  Also it "rebinds" super references to from source object to target objects.<br><div><div>On Mar 8, 2013, at 3:26 PM, Andrea Giammarchi wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">am I understanding mixin correctly?<div><br></div><div><div>'mixin' in Object || (Object.mixin = function mixin(</div><div>  target, source</div><div>) {</div><div>  for(var</div><div>    keys = Object.getOwnPropertyNames(source),</div>
<div>    i = keys.length; i--; Object.defineProperty(</div><div>      target,</div><div>      keys[i],</div><div>      Object.getOwnPropertyDescriptor(</div><div>        source,</div><div>        keys[i]</div><div>      )</div>
<div>    )</div><div>  );</div><div>  return target;</div><div>});</div></div><div><br></div><div style="">thanks</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 8, 2013 at 2:35 PM, Allen Wirfs-Brock <span dir="ltr"><<a href="mailto:allen@wirfs-brock.com" target="_blank">allen@wirfs-brock.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">The March 8, 2013 Rev 14 draft is now available at the usual place: <a href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts" target="_blank">http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts</a> <div>
<br></div><div><p>Changes include:
</p>
<ul>
<li><div> Class bodies are now always string</div>
</li>
<li><div> <strong>static</strong> methods may now be defined in <em>ClassBody</em></div>
</li>
<li><div> Updated comprehension syntax to use left-to-right order</div>
</li>
<li><div> Eliminated <strong>is</strong> and <strong>isnt</strong> operators</div>
</li>
<li><div> added grammar productions to allow unqualified super to be used after new operator</div>
</li>
<li><div> expression to the right of <strong>of</strong> in <strong>for-of</strong> now restricted to being <em>AssignmentExpression</em></div>
</li>
<li><div> 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)</div>
</li>
<li><div> Added Object.getOwnPropertyKeys function</div>
</li>
<li><div> Added <a href="http://Object.is/" target="_blank">Object.is</a> function</div>
</li>
<li><div> Tentatively added Object.mixin function</div>
</li>
<li><div> Array.from now takes an optional map function</div>
</li>
<li><div> Added String.prototype.normalize method</div>
</li>
<li><div> All String.prototype methods that accept RegExp arguments will now work with subclasses of RegExp</div>
</li>
<li><div> Renamed Number.prototype.toInt to Number.prototype.toInteger</div>
</li>
<li><div> 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. </div>
</li>
<li><div> Added new RegExp.prototype methods 
that allow string methods to work with RegExp subclasses: match, 
replace, search, split, @@isRegExp </div>
</li>
<li><div> Map and Set constructors now accept a =n optional comparator parameter.  Only value currently allowed is “is”</div>
</li>
<li><div> ArrayBuffer and <em>Typed</em>Array object length no long restricted to 2<sup>32</sup> limit</div>
</li>
<li><div> Eliminated all remaining references 
to [[Class]] and [[NativeBrand]]  (except for in some DataView code that
 needs rewritting anyway)</div>
</li>
<li><div> Added SameValueZero abstraction operation that considers -0 and +0 to be the same value.</div>
</li>
<li><div> Rename [[GetP]] to [[Get]] and [[SetP]] to [[Set]]</div>
</li>
<li><div> 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.</div>
</li>
<li><div> 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.</div>
</li>
<li><div> Numerous editorial and technical corrections, clarifications, and bug fixes</div>
</li>
</ul><div><br></div></div></div><br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></body></html>