0

前提:我正在尝试放弃构造函数模式

正如你在console.log()这里看到的

//Constructor pattern
function F(){}

F.prototype.foo = null;

console.log(new F());

//Object create pattern
var FPrototype = {};

FPrototype.foo = null;

console.log(Object.create(FPrototype))

Object.createAPI创建的对象具有__proto__引用原型的属性,Object而构造函数创建的对象具有引用原型的属性作为__proto__构造函数的名称。

我想这种行为是试图模拟强类型语言,假设您的构造函数定义了一个由构造函数名称本身标识的新类型。

也就是说,当我的原型链增长时,我发现通过名称/“类型”识别不同的原型非常有用,那么有什么方法可以正确地使用它Object.create而不是构造函数?

4

0 回答 0