JavaScript中的链式方法调用的实例教程

84 阅读1分钟

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