TIL. コアJavaScript-実行コンテキスト
4287 ワード
実行コンテキスト(execution context)
📌 実行コンテキストとは?
実行するコードで提供される環境情報をまとめたオブジェクト.
実行コンテキストがアクティブな場合、JavaScriptエンジンは、そのコンテキストに関連するコードの実行に必要な環境情報を収集し、実行コンテキストに格納します.
スタックとキュー
-スタックは、1つのエントリしかない井戸のようなデータ構造です.
-データが順番に格納されている場合、取り出し時に逆の順番で取り出す.
-コールスタックを超えたときにエラーが発生しました.
-両方ともパイプのように開いたデータ構造です.
-通常、一方が入力を担当し、他方が出力のみを担当する構造.
コンテキスト動作の実行
実行コンテキストの構成方法
:自動生成されます.
:使えません.詳細については、MDN-eval()を参照してください。
:通常、実行コンテキストを構築する方法です.
コンテキストと呼び出しスタックの実行
例)
// ------------------------- (1)
var a = 1;
function outer() {
function inner() {
console.log(a);
var a = 3;
}
inner(); // -------------- (2)
console.log(a);
}
outer(); // ---------------- (3)
console.log(a);
実行順序(1)グローバルコンテキストに関連するコードを連続的に実行する
(3)outer関数の呼び出し
:JavaScriptエンジンは外部環境情報収集→外部関数内部コードの順に行う
(2)内部関数の実行
:内部関数の実行コンテキストが呼び出しスタックの一番上にある場合→外部関連コードの実行を停止→内部関数の内部コード順
→実行コンテキストが呼び出しスタックの上部に積み重ねられた時点で、現在実行するコードに関連します.
収集アクティビティの実行コンテキストについて
JavaScriptエンジンを使用するために作成された実行可能コンテキストオブジェクトに格納される情報.
VariableEnvironment
環境レコード(スナップショット):現在のコンテキストの識別子について
外部環境リファレンス(snapshot):外部環境について
LexicalEnvironment
≪環境レコード|Environment Record|ldap≫:現在のコンテキストの識別子について
外部環境参照がいぶかんきょうさんしょう:外部環境情報がいぶかんきょうじょうほう
ThisBinding
VariableEnvironment
LexicalEnvironment
Reference
この問題について(TIL. コアJavaScript-実行コンテキスト), 我々は、より多くの情報をここで見つけました https://velog.io/@seul06/TIL.-코어자바스크립트-실행-컨텍스트テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol