js new运行流程

1. 创建一个新对象

2. 将这个新对象的隐式原型指向Class的显式原型

3. 将这个新对象作为this指针的指向,用call/apply调用Constructor

4. 将这个新对象指向 赋值号(=) 左侧的变量

// Demo
const man = new Person();

等同于:

const obj = {};
obj.__proto__ = Person.prototype;(或Reflect.setPrototypeOf(obj, Class.prototype);)
Person.constructor.apply(obj, arguments);
man = obj;


欢迎关注、点赞

猜你喜欢

转载自blog.csdn.net/qq_33576343/article/details/84031937