为什么在es6里面,可以直接访问构造函数的原型上的方法
来源:7-3 -3 扩展接口 - 混合对象实现+ demo 编写

安德鲁的小围巾
2021-10-20
function createInstance(): AxiosInstance {
const context = new Axios()
const instance = Axios.prototype.request.bind(context)
extend(instance, context)
return instance as AxiosInstance
}
这里有点疑问,这个Axios是es6定义的类,为什么可以通过构造函数的原型访问request方法,我试了一下es5就不能这样直接调用,必须得Axios.prototype.request = function(){…} 这样定义才可以,那既然es6里面可以直接通过原型访问所有方法,那么 const context = new Axios() 这段代码的作用 是不是仅仅就是为了给request绑定context呢?
写回答
1回答
-
ustbhuangyi
2021-10-20
因为设置了 target 是 es5,那么 Class 也会编译成 es5 的 function 来实现类
00
相似问题