在 JavaScript 中, new 操作符⽤于创建⼀个给定构造函数的实例对象。
new
关键字主要做了以下的⼯作:
- 创建⼀个新的对象 obj
- 将对象与构建函数通过原型链连接起来
- 将构建函数中的 this 绑定到新建的对象 obj 上
- 根据构建函数返回类型作判断,如果是原始值则被忽略,如果是返回对象,需要正常处理
function mynew(Func,...args){
const obj={};
obj.__proto__=Func.prototype
let result=Func.apply(obj,args)
return result instanceof Object?result:obj
}