JavaScript Object.create样式与现有对象

Jac*_*cob 5 javascript prototype

假设我有一个现有的对象,一个和一个原型b.我想用a的值创建一个新对象c,但是b的原型.有没有比以下更好的方式:

function Copy(object) {
    Object.assign(this, object);
}
Copy.prototype = Object.create(b);

var c = new Copy(a);
Run Code Online (Sandbox Code Playgroud)

编辑:Object.setPrototypeOf比问题解决方案更好还是更差?

Ori*_*iol 3

不需要构造Copy函数。只需使用

var c = Object.assign(Object.create(b), a);
Run Code Online (Sandbox Code Playgroud)