理解Javascript中的链接方法

我是ES6和Javascript的新手,我无法弄清楚在下面的代码中链接这个dump()方法有什么问题.

它返回“main.js:25 Uncaught 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()方法,一切都会正常工作.

myTasks.addTasks([
'New Task'
]);

myTasks.dump();

解决方法:

方法addTasks不返回对象的引用.如果你想链接工作,你的方法需要如下所示:

addTasks(newTasks = []) {
    this.tasks = this.tasks.concat(newTasks);

    return this;
}
上一篇:Flutter 同步系统的 HTTP 代理设置


下一篇:javascript – jQuery如何完成命令的链接?