这个函数啥意思?

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()  
     } 
}
阅读 2.5k
2 个回答

这是ts吧,不是es6。

补充一下楼上的。
在 constructor 接收的参数中是明显有类型的静态检查的。
比如 expOrFn 只能接收 string 或者 function 后面根据这个类型改写 getter 方法。

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()
    }
}

对题主的内容排版了一下就是上面这样,简写一下就是

class Watcher {
    constructor() {}
}
export default Watcher;

主要知识点就是ES6的语法知识,一个Watcher类中只是定义了一个构造函数,一个export导出了Watcher

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题