理解Javascript中的链接方法 [英] Understanding Methods Chaining in Javascript
本文介绍了理解Javascript中的链接方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是ES6和Javascript的新手,我无法弄清楚在下面这段代码中链接这个dump()方法有什么问题。
I'm new to ES6 and Javascript and I can't figure out what's wrong with chaining this dump() method in the following piece of code.
它返回 main.js:25未捕获的TypeError:无法读取未定义的属性'dump':
class TaskCollection {
constructor(tasks = []) {
this.tasks = tasks;
}
addTasks(newTasks = []) {
this.tasks = this.tasks.concat(newTasks);
}
dump() {
console.log(this.tasks);
}
}
let myTasks = new TaskCollection([
'Do stuff'
]);
myTasks.addTasks([
'New Task'
]).dump();
现在如果我不链接那个dump()方法,一切都会正常工作。
Now if I don't chain that dump() method, everything would work just fine.
myTasks.addTasks([
'New Task'
]);
myTasks.dump();
推荐答案
方法 addTasks
未返回对象的引用。如果你想链接工作,你的方法需要如下所示:
Method addTasks
is not returning a reference to the object. If you want chaining to work, your method needs to look like this:
addTasks(newTasks = []) {
this.tasks = this.tasks.concat(newTasks);
return this;
}
这篇关于理解Javascript中的链接方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文