Object.create()应用
1 | /* Object.create(obj)会将[[prototype]]关联到指定对象,组合继承就由于这个原理 */ |
proto 和 Object.getPrototypeOf() 应用
1 | /* 组合继承 */ |
instanceof 应用
1 | function Foo() {} |
instanceof一般用于确定一个值是哪种引用类型,是否存在于参数 object 的原型链上。而不是用于判断对象的构造函数,判断构造函数还是需要使用constructor,实例对象.constructor === 构造函数名字来判断
array,function对象instanceof Object会返回true,因为他们的引用都来自Object
.prototype.isPrototypeOf() 应用
1 | /* 内省 */ |
Object.setPrototypeOf()继承应用
1 | /* ES6拥有Object.setPrototypeOf进行原型链继承 */ |