Flutter(Dart)のプログラミングにおいて、こんな感じで「this」というワードが登場することがありますが、これは一体何なのでしょうか。
公式リファレンスによると、この「this」というのは、「現在のインスタンス(current instance)」のことを指すそうです。
では、「現在のインスタンス」とは何なのかというと、「this」キーワードの入っているクラス(class)のインスタンス、つまり「自分のクラスのインスタンス」ということになります。
つまり、上の例における「this」は「Point」クラスのインスタンスを指しており、「this.x」はPointクラスのインスタンスに属している「x」プロパティのことを指すということです。
じゃあ、「this」が自分のクラスのインスタンスを指すのであれば、自分のクラスのメンバ(プロパティ・メソッド)にアクセスする際には必ず付くのかというと、そういうわけではなく、コード上で名前が競合する場合以外はつける必要ないようです(省略してよい)。
逆にコード上で名前が競合する場合は、区別するために「this」をつける必要があります。
(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)