⊗jsPmCxUFC 434 of 505 menu

JavaScriptにおける非バインド関数のコンテキスト

関数内でthisを指定しても、 何にもバインドされていない場合にどうなるか見てみましょう。次のようになります:

function func() { console.log(this); } func();

この場合の結果は、 厳格モード かどうかに依存します。非厳格モードの場合、 thisにはwindowへの参照が格納されます:

function func() { console.log(this); // windowへの参照 } func();

一方、厳格モードの場合、thisには undefinedが格納されます:

"use strict"; function func() { console.log(this); // undefined } func();

上記の説明から、厳格モードではthisが常に undefinedになると思われるかもしれません。 そうとは限りません!関数の外で単純にthisを 出力すると、モードに関係なくwindowへの参照になります:

"use strict"; console.log(this); // thisにはwindowへの参照

まとめ

どの関数内でもthisを書くことができ、 それはJavaScriptのエラーを引き起こしません。 しかし、このthisに実際に何が入るかは、 関数が呼び出される瞬間まで定義されません。 さらに、関数の呼び出しごとにthisの値は 異なる可能性があります。すべては関数が呼び出された コンテキストに依存します。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否