[JS] Bind, Call, Apply in simple

Định nghĩa

Trong lúc làm những dự án Front-end chắc hẳn không ít lần chúng ta gặp các từ khóa .bind(), .call(), .apply() trong Javascript đúng không?

Vậy thì tụi nó là gì? Làm ra có tác dụng gì? Mình có thể gói gọn trong các định nghĩa sau

  • Là các prototype của function/object (bất kỳ function/object nào cũng có thể gọi ra 3 method này)
  • 3 method này đều liên quan đến 1 từ khóa this
  • Nhiệm vụ của chúng là thay đổi this của 1 function/object

Khi nào thì dùng?

  • Tất nhiên là khi nào trong function/object có dùng từ khóa this

Sự khác nhau giữa .bind, call, apply?

  • bind return function, Sử dụng bind nếu ta muốn excute nó sau này (các sự kiện: click, focus…. )
  • call, và apply execute function imediately, sẽ chạy luôn lúc biên dịch nên đối với những function cần run ngay lập tức tại thời điểm viết code thì dùng nó

F G+ T

tuandph

Khởi đầu với .NET từ năm 2013 đến nay. Hiện tại mình đang làm full-stack developer. Yêu thích lập trình & chia sẽ kiến thức. Thời gian rảnh thường làm những tool vui vui và viết lách kể lệ sự đời.