今週やったこと(2/26~3/3)
今週やったこと
・演習問題を解く
・javascriptの学習
今週もjavascriptのメモまとめをかるく書きたいと思います。
今日はthisとbindについてです。
thisとbindのメモ
サンプルソース
window.name = 'a';
const hoge = {
name: 'hoge',
log: function (num) {
console.log(num); //引数の表示する
console.log(this.name); // hogeオブジェクトのnameを表示する
},
};
hoge.log(1); //hogeオブジェクトのlogを実行する
const hoge1 = hoge.log; //関数の参照先を代入している
hoge1(1); //グローバルオブジェクトのaが表示される
const hoge2 = hoge.log.bind(hoge, 2);
hoge2(); //hogeオブジェクトのhogeが表示される
thisについて
使用するスコープによってあらわすものが変わる。
スクリプトファイル範囲でのthis
→グローバルオブジェクトで定義されている変数(window.name)
関数スコープ範囲でのthis
→関数オブジェクトで定義されている変数(hoge.name)
bindについて
関数を呼び出すときにオブジェクトを指定して呼び出すことができる。
const hoge2 = hoge.log.bind(hoge, 2);
こうすることで、hoge.logをhogeオブジェクトで実行するようにすることができる。(hoge.logと同様の挙動となる)
この記事が気に入ったらサポートをしてみませんか?