Chuỗi cuộc gọi phương thức trong JavaScript

Trong JavaScript, đôi khi chúng ta có thể chuỗi các cuộc gọi phương thức, như sau:

car.start().drive()

Nó khá thuận tiện để làm như vậy.

Thay vì viết

car.start()
car.drive()

chúng ta có thể đơn giản hóa trong một lớp lót.

Điều này có thể thực hiện được nếu mỗi phương thức trả về chính đối tượng. Nói cách khác, việc triển khai phải giống như sau:

const car = {
  start: function() {
    console.log('start')
    return this
  },
  drive: function() {
    console.log('drive')
    return this
  }
}

Điều quan trọng cần lưu ý là bạn không thể sử dụng các hàm mũi tên, bởi vìthistrong một hàm mũi tên được sử dụng làm phương thức đối tượng không bị ràng buộc với cá thể đối tượng.

Tôi thích sử dụng các hàm mũi tên mọi lúc, và đây là một trong những trường hợp bạn không thể.

Các lệnh gọi phương thức chuỗi là tuyệt vời khi bạn không trả về một tập hợp các giá trị từ phương thức, nếu không, bạn rõ ràng cần phải gán một lệnh gọi phương thức cho một biến và không thể thực hiện chuỗi:

const result = car.start()
if (result) {
  car.drive()
}

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác: