我对javascript有一个疑问,我希望有人可以解释一下。我有一个Watcher课程,它按预期工作:
function Watcher(paths) {
let watcher_instance = Object.create(Watcher.prototype);
watcher_instance.paths = paths;
return watcher_instance;
}
Watcher.prototype = {
init_watcher() {
console.log(this.paths)
}
}
然后,当我做
let watcher = new Watcher(paths);
watchers.init_watcher(); // prints the paths Array
一切按预期工作。
但我将原型更改为:
Watcher.prototype = {
init_watcher: () => {
console.log(this.paths) // prints undefined
}
}
this.path似乎根本没有初始化。谁知道为什么?
我看过this,但没有看到任何对此行为的引用。