0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScriptのコンテキストについて

Posted at

#コンテキスト
まずは言葉の定義から説明すると、あるコードが実行される際の文脈や状況のことを実行コンテキストといいます。
例えばブラウザ上でコードを実行した場合は、windowオブジェクトとthisがJavaScriptエンジンによって準備されるのでこれらが実行可能となります。
実行コンテキストには3つの種類があります。
1. グローバルコンテキスト
2. 関数コンテキスト
3. evalコンテキスト
しかし、3のeval関数はES6から非推奨になっています。

###グローバルコンテキスト
スクリーンショット 2021-10-16 17.27.05.png

グローバルコンテキストでは宣言した変数と関数、グローバルオブジェクト、thisの3つが利用できます。
お使いのエディタで適当なindex.htmlとmain.jsを作成した時main.jsの直下に書かれたコードが実行される環境がグローバルコンテキストとなります。

###関数コンテキスト
スクリーンショット 2021-10-16 17.32.45.png

関数コンテキストでは宣言した変数と関数と「arguments」,「super」,[this],[外部変数]の4つがJavaScriptエンジンによって準備され利用できます。

スクリーンショット 2021-10-16 17.45.06.png

実行結果
スクリーンショット 2021-10-16 17.57.37.png

this(window),arguments,a(0)の3つがコンソールに出力されています。

##参考
Udemy: 【JS】ガチで学びたい人のためのJavaScriptメカニズム

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?