JavaScript Object.create()的使用
调用Object.create()时,将创建一个新的对象并将新对象的__proto__指向指定的对象。
Object.creat是ES5中新增的函数,polyfill如下:
Object.creat=function(o){ function F(){}; F.prototype=o; return new F(); }
function f(){}; var a=Object.create(f); a.__proto__===f;//true
使用
b.prototype=Object.create(f.prototype);需要抛弃默认的b.prototype;
ES6中
Object.setPrototypeOf(b.prototype,f.prototype);可以直接修改现有的b.prototype;
注意:
Object.create(null);
会创建一个拥有空__proto__连接的对象,由于这个对象没有原型链通常被称作“字典”,适合用来存储数据。