1.我自己的实现
// 我自己的实现 Object.create()
Object.create = function (proto, properties = {}) {
let newObj = {};
newObj.__proto__ = proto;
Object.defineProperties(newObj, properties);
return newObj;
}
2.另一种更好的实现方式
function create(proto) {
function F() {};
F.prototype = proto; // 将原型挂在构造函数的prototype上
F.prototype.constructor = F;
return new F(); // 返回新对象
}
本文介绍了两种实现Object.create的方法:一种是通过直接设置对象的__proto__属性;另一种是定义一个构造函数,将原型挂载在其prototype上并返回新实例。这两种方法都用于创建新对象,并指定其原型。

657

被折叠的 条评论
为什么被折叠?



