当不使用'new'关键字时,在控制台中登录的构造函数将显示该对象的构造函数,并且当我更改对象的__proto__
时它也会更改,控制台也会显示当前对象的构造函数对象的构造函数是。但是,即使使用'new'关键字,即使我更改了__proto__
,控制台仍会显示创建该对象的原始构造函数的构造函数。
带有“新”关键字照片
控制台显示对象的当前构造函数是什么,并且当我更改其__proto__
function Human(){}
function Animal(){}
const obj = Object.create(Human.prototype)
console.log(obj)
Object.setPrototypeOf(obj, Animal.prototype)
console.log(obj)
但是当使用new关键字时,即使更改了对象的__proto__
,它仍然会显示创建该对象的原始构造函数。
function Human(){}
function Animal(){}
const obj = new Human()
console.log(obj)
Object.setPrototypeOf(obj, Animal.prototype)
console.log(obj)