基礎觀念:Function.bind
Function.bind 是什麼?
如同字面上的含義 bind
就是綁定
,那到底綁定什麼呢?我們先看一下它的定義:
someMethod.bind(thisArg[, arg1[, arg2[, ...]]])
- thisArg: 呼叫
someMethod
傳進去當作this
的值。
看出來了嗎?簡單的說就是當你呼叫
someMethod
時,綁定
someMethod 內部的this
到你指定的物件上 (thisArg
)。
Example
const name = "Hyweb"
const club = {
name: "R00",
getName: function () {
return this.name
}
}
const getClubName = club.getName
// show `hyweb`
console.log(getClubName())
// show `R00`
console.log(getClubName.bind(club)())
Reference
Author Yuyu, Lin
LastMod 2018-03-12