javascript callメソッドとapplyメソッドについて
- 2020.10.17
- javascript
- javascript

javascriptで、callメソッドとapplyメソッドを使った簡単なサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 84.0.4147.105
callメソッド使い方
まずは、以下のコードを実行してみます。
1 2 3 4 5 6 7 8 9 |
const obj = { str: 'Hello' } function hoge(){ console.log(this.str); } hoge(); |
当然、this.strは「undefined」となります。
ところが、callメソッドを使用すると、objがthisとして引数に利用できてしまいます。
1 2 3 4 5 6 7 8 9 |
const obj = { str: 'Hello' } function hoge(){ console.log(this.str); } hoge.call(obj); // Hello |
引数がある場合は、以下のように利用できます。
1 2 3 4 5 6 7 8 9 |
const obj = { str: 'Hello' } function hoge(str){ console.log(this.str + str); } hoge.call(obj,"World"); // HelloWorld |
applyメソッド使い方
applyメソッドも、ほぼcallメソッドと同じですが、
1 2 3 4 5 6 7 8 9 |
const obj = { str: 'Hello' } function hoge(){ console.log(this.str); } hoge.apply(obj); // Hello |
引数を配列で指定するところが異なります。
1 2 3 4 5 6 7 8 9 |
const obj = { str: 'Hello' } function hoge(str){ console.log(this.str + str); } hoge.apply(obj,["World"]); |
-
前の記事
preact環境を構築して実行してみる 2020.10.16
-
次の記事
javascript minメソッドを使って配列の中の最小値を取得する 2020.10.17
コメントを書く