問題一覧に戻る
中級functions
問題71: bind メソッド
bindメソッドの使い方を学びましょう。bindは関数のthisコンテキストを恒久的に固定し、新しい関数を作成します。メソッドを変数に代入したり、コールバックとして渡したりする際に、thisが失われる問題を解決できます。また、bindは部分適用(カリー化)の機能も持ち、引数を事前に固定した関数を作成できます。イベントハンドラーやReactのクラスコンポーネントなど、実際の開発で頻繁に使用される重要なメソッドです。
// bindメソッド
const person = {
name: "太郎",
greet: function() {
return "こんにちは、" + this.name + "です";
}
};
// thisを固定
const greetFunction = person.greet;
const boundGreet = greetFunction.(person);
console.log("挨拶: " + boundGreet());
// 部分適用
function add(a, b, c) {
return a + b + c;
}
const add5and2 = add.bind(, 5, 2);
console.log("部分適用: " + add5and2(8));