JavaScript中的鏈接方法調用

在JavaScript中,有時我們可以鏈接方法調用,如下所示:

car.start().drive()

這樣做非常方便。

而不是寫作

car.start()
car.drive()

我們可以簡化一線。

如果每種方法都返回對象本身,則可能發生這種情況。換句話說,實現必須是這樣的:

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

免費下載我的JavaScript初學者手冊


更多js教程: