前言
在此之前,你需要知道,如何创建一个对象和原型链是什么
一.new Object()和{}
{}是JavaScirpt对象字面量创建的形式,其本质和new Object()并没有区别
let a = {}
let b = new Object()
console.log(a)
console.log(b)
默认都是继承了Object对象上的原型prototype
二.new Object()
将一个对象的原型,指向一个新的对象
Object.create(proto, [propertiesObject])
使用
let a = { age:11 }
let c = new Object(a)
Object.create(null)
let a = new Object.create(null)
在该对象上没有继承 Object.prototype 原型链上的属性或者方法
手写Object.create
思路:将传入的对象作为原型
function create(obj){
function F(){}
F.prototype = obj;
return new F();
}