STEP 4-3

this

 this※3はオブジェクトを操作する際に利用できる特殊な変数です。もしオブジェクト指向を扱う他の言語をご存知の方は、クラスとともにthisやselfのような名前で出ているものをイメージしてみてください。基本的にはそれらと同様ではありますが、JavaScriptでは関数の単位でthisと関係するため、独特な動作をするところがあります。これからお伝えするルールが難解でもあるため「JavaScriptを学び始めた時に頭を悩ませる機能の代表」でしょう。

 最初にfunctionにおけるthisの動作理解を深めます。アロー関数(=>)はthisの挙動においてfunctionとは別の動作をするので、後で確認します。

関数呼び出しの際、所有者のオブジェクトを指し示すthis

 このthisは大変基本的な動作で、他の言語などを含めて考えても違和感のないthisの動作です。「関数が“呼び出された時”にその所有者となっているオブジェクトの参照」です。主に次の二つのケースが該当します。

  オブジェクトが関数を所有している場合

  クラスを作成した場合

 それぞれ確かめていきましょう。

オブジェクトが関数を所有している場合

4-3-01 this.js

const obj1 ...

Get ステップアップJavaScript フロントエンド開発の初級から中級へ進むために now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.