最終更新:2018-01-08 (月) 07:23:12 (166d)  

JavaScript/this はてなブックマークを見る
Top / JavaScript / this

コードのどこでも使える読み取り専用の変数

  • 呼び出し元によって参照先のオブジェクトが変化する

条件

JavaScript/実行コンテキスト

  • スクリプト
  • モジュール

コンストラクタ

関数とメソッド

アロー関数

  • thisを変えずにコールバック関数を定義する方法
  • 呼び出し時に暗黙的なthisの値を受け取らない
    • アロー関数で定義された関数やメソッドにおけるthisがどの値を参照するかは関数の定義時(静的)に決まる
    • アロー関数ではない関数においては、thisは呼び出し元に依存するため関数の実行時(動的)に決まる。
  • Arrow Function内にはthisが定義されていません。このときのthisは外側のスコープ(関数)のthisを参照します。

applyかcallを使用する場合

JavaScript/コールバック関数

関数外 (トップレベルコード)

関数内

メモ

  • 関数のthisキーワード は、JavaScriptではほかの言語と少々異なる動作をします。また、Strictモード非Strictモード?でも違いがあります。

アロー関数

  • アロー関数 では、thisはレキシカルに設定されます。すなわち、 それを囲む実行コンテキストの this の値が設定されます。グローバルコードでは、グローバルオブジェクトが設定されます:

jQuery

  • $(this).html("aa")
  • 選択されているカレントノード

参考