モダンJavaScript Deep Dive#04章-変数


04章-変数


4.1変数は何ですか。どうして必要なの?


アプリケーションがデータを処理します.
どんなに複雑なアプリケーションでも、データの入力、処理、出力が必要です.
10 + 20
Javascriptエンジンが10+20の意味であることを説明すると、+演算を実行するためには、まず+演算子の左右の数値、すなわち被演算子を覚えなければならない.
上記コードの数値値10,20はメモリ内の任意の位置(メモリアドレス)に記憶されており、CPUはこれらの値を取得して演算を実行する.演算結果から生成された数値30もメモリ内の任意の位置に記憶される.演算が正常に完了しても、演算結果がメモリに格納され、数値値30を繰り返し使用することはできません.再利用するには、メモリ30が格納されているメモリスペースに直接アクセスする以外に選択肢はありません.ただし、メモリアドレスを介して値に直接アクセスすると、致命的なエラーが発生する可能性があります.
プログラミング言語は、記憶したい値をメモリに格納し、格納された値を取得します.
再利用に変数メカニズムを提供します.
変数は、値を格納するメモリ領域自体またはそのメモリ領域を識別します.
何のためにつけた名前ですか.
開発者は、メモリアドレスを直接使用して値を格納したり参照したりする必要はありません.変数を使用して値に安全にアクセスできます.
var result = 10 + 20;

4.2識別子


変数名は識別子とも呼ばれます.識別子とは、ある値を区別できる固有の名前です.値はメモリ領域に格納されます.したがって、識別子は、メモリ領域に格納されている値を識別できる必要があります.このため、識別子は、値を格納(格納)するメモリアドレスを記憶する必要があります.このように、識別子は値ではなくメモリアドレスを覚えています.すなわち,識別子はメモリアドレスに貼られた名前といえる.識別子という語は変数名に限定されない.すなわち、メモリに存在する値を識別できる名前を識別子と呼ぶ.

4.3宣言変数


変数宣言とは、変数を生成することです.より詳細には、メモリ値が保存されているメモリ領域を特定し、変数名と保存されているメモリ領域のアドレスを接続して、メモリ値を準備します.変数を使用するには、宣言する必要があります.변수를 선언할 때는 var, let, const 키워드를 사용한다.
var score;
上記の変数宣言は、変数名を登録し、メモリ値のメモリ領域を確実に保存します.変数を宣言した後も、変数には値が割り当てられていません.したがって,変数宣言によって確保されたメモリ領域は空であると考えられるが,確保されたメモリ領域ではJavaScriptエンジンによってundefinedという値が暗黙的に割り当てられ初期化される.JAvascriptエンジンでは、次の2つのステップで変数宣言が実行されます.
  • 선언 단계:変数名を登録し、JavaScriptエンジンに変数の存在を通知します.
  • 초기화 단계:メモリ値のメモリ領域を確実に保存し、デフォルト割当は未定義で初期化する.
  • varキーワードの変数宣言を使用して、宣言フェーズと初期化フェーズを同時に行います.var score;フェーズ登録変数名scoreを宣言し、初期化フェーズでscore変数にデフォルトの未定義値を割り当てて初期化します.一般に、初期化とは、変数が宣言された後に初めて値を付与することを意味します.varキーワードとして宣言された変数はundefinedで自動的にサイレント初期化されます.したがって、varキーワードとして宣言された変数には定義されていない値があり、値を指定する必要はありません.