export default class Watcher {
constructor (
vm: Component,
expOrFn: string | Function,
cb: Function,
options?: Object = {}
) {
...
if (typeof expOrFn === 'function') {
this.getter = expOrFn
} else {
this.getter = parsePath(expOrFn)
}
...
this.value = this.lazy ? undefined : this.get()
}
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这是ts吧,不是es6。
补充一下楼上的。
在 constructor 接收的参数中是明显有类型的静态检查的。
比如 expOrFn 只能接收 string 或者 function 后面根据这个类型改写 getter 方法。
对题主的内容排版了一下就是上面这样,简写一下就是
主要知识点就是ES6的语法知识,一个Watcher类中只是定义了一个构造函数,一个export导出了Watcher类