article icon indicating copy to clipboard operation
article copied to clipboard

[实践系列]模拟实现new操作符

Open webfansplz opened this issue 5 years ago • 1 comments

new操作符做了什么?

image

  • 创建一个新对象
  • 新对象继承了构造函数的原型
  • 构造函数的this指向新对象,并执行构造函数。
  • 最后隐式的返回this,即新对象。

如果我们在构造函数中进行显式返回,会发生什么?

image

image

由此我们可以得出结论:构造函数如果返回基本类型,则会忽略,还是返回原来的this(新对象).如果返回的是引用类型,则会对该返回值进行处理,返回该返回值。

new操作符的模拟实现

知道new操作符做了什么,我们要实现就不难了,直接上代码!

image

webfansplz avatar Mar 05 '19 08:03 webfansplz

假如res刚好等于null,理应也返回o的。

zhw2590582 avatar Mar 19 '19 05:03 zhw2590582