在JavaScript中,有时我们可以连锁调用方法,像这样。
这样做是很方便的。
而不是写
我们可以在一个单行代码中进行简化。
如果每个方法都返回对象本身,这是有可能的。换句话说,实现必须是这样的。
const car = {
start: function() {
console.log('start')
return this
},
drive: function() {
console.log('drive')
return this
}
}
需要注意的是,你不能使用箭头函数,因为在作为对象方法的箭头函数中,this ,并不与对象实例绑定。
我喜欢一直使用箭头函数,而这是你不能使用的情况之一。
当你不从方法中返回一组值时,链式方法调用是很好的,否则你显然需要将方法调用分配给一个变量,而链式方法是不可能的。
const result = car.start()
if (result) {
car.drive()
}