Object.create

用法
Object.create(obj);

创建一个新对象。使用现有对象来提供新创建对象的proto

解析
var person={
    isMan:false,
    printInfo:function(){
        console.log(`My name is ${this.name}.I am ${this.isMan?'man':'female'}.`)
    }
}

var me = Object.create(person);

person.isMan === me.isMan;//true
person.printInfo === me.printInfo;//true

person.isMan=true;
console.log(me.isMan);//true

me.isMan=false;
me.name='marry';
console.log(me.printInfo());//My name is marry.I am female.

结论是 现有对象和新对象的原型指向同一份数据,修改会使现有对象和新对象同时生效。

//创建空的object,不设定_proto_
var test=Object.create(null);
console.log(test._proto_);//undefined
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容