首先我们先来看看vue2源码
function Vue (options) {
if (process.env.NODE_ENV !== 'production' &&
!(this instanceof Vue)
) {
// 判断如果不是通过 new 的方式调用,则抛出警告
warn('Vue is a constructor and should be called with the `new` keyword')
}
this._init(options)
}
可以看到在源码中我们平常使用的new Vue()其实就是这个构造函数,但是为什么不适用class呢?
总结起来有以下原因
- class关键字创建的函数不能通过call,bind,apply改变this指向,function可以
待更新…