On Tue, Dec 17, 2013 at 8:17 PM, Brendan Eich <[email protected]> wrote:

> It's now or never. I agree multiple sources are useful enough to do now; I
> don't see a different third parameter that would be precluded by deciding
> this. But others may disagree.
>

A third Properties argument that matches the second Properties argument to
Object.create() and Object.defineProperties

class Cycle {
  constructor(details) {
    Object.assign(this, details, {
      wheels: {
        value: details.type === "tricycle" ? 3 : 2,
        configurable: false,
        writable: false
      }
    });
  }
}

var trike = new Cycle({
  color: "red",
  type: "tricycle"
});

... Which doesn't break the reduce pattern since the index would
effectively be meaningless in that context, ie.
Object.getOwnPropertyNames(Object(1)).length === 0;

Anyway...I had originally pushed for Object.assign with multiple sources
and dropped it when consensus seemed to hinge on "one target, one source".
The third Properties argument is compelling and doesn't prevent using
Object.assign as a primitive mechanism for library code to build on top of.

Rick
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to