[JS]変数(Value)


パラメータ

  • の名前で、値を格納するために使用されるメモリ領域自体またはそのメモリ領域を識別します.
  • 変数==変数名(識別子)
  • の値を示す象徴的な名前です.
  • 変数には値を割り当てる必要があります.
  • 値:式によって生成された結果を計算します.
  • メモリスペースに象徴的な名前が付けられています.
  • メモリに格納されているすべての値は、バイナリ形式で格納されます.
  • 割当て
  • (代入、保存):変数に値を格納します.식별자 = 표현식左は識別子でなければ割当ではありません!
  • :変数に格納されている値の取得を参照してください.
  • 識別

  • 一意の名前
  • で、任意の値を識別できます.
  • 変数名は識別子です.識別可能な値の名前を識別子と呼びます.
  • 識別子は、メモリ領域に格納された値を識別することができる必要がある.
  • に達するためには、識別子は、その値を格納するメモリアドレスを記憶しなければならない.
  • 識別子はメモリアドレスとマッピング関係を確立し、このマッピング情報もメモリに格納されるべきである.
  • したがって、識別子は値ではなくメモリアドレスを記憶します.

    変数の宣言


    メモリ領域を解放して
  • の値を格納し、メモリアドレスを変数名に関連付けます->「変数を生成します.」と言います.
  • var、let、constキーワードを使用します.
  • JSエンジンは2ステップに分けて変数宣言を実行します.
  • 変数名を含むすべての識別子は、実行コンテキスト(JSエンジンがソースコードを実行するために管理する領域)に登録されます.
  • 宣言フェーズ:変数名を登録し、存在を通知します.
  • 初期化フェーズ:値を格納するメモリを取得し、定義されていないメモリをデフォルトで割り当てます.
    ->undefinedが割り当てられているため、ゴミ値のリスクを回避できます.
    使用❗変数は宣言する必要があります.
  • ┑変数宣言の実行点と駐在点

    	console.log(Ssong) // output: undefined
    	var Ssong
  • 以上のコードでエラーは発生しません.
  • JSは、実行時点よりも前に変数宣言を実行するためである.
  • JSは、ソースコードが1行実行される前に、ソースコードを評価する.
  • この時点でJSエンジンはまずすべての宣言を実行する.
  • 変数,関数などの宣言文の動作特徴,例えばコードの先頭をJSの変数反発と呼ぶ.
  • 値の割当て

    	var a;
    	a = 100;
    
    	var a = 100;
  • 上の2つのドアの動作は同じです.1行として宣言されても、JSエンジンは宣言と割り当ての2行に分けて実行されます.
  • 値の割り当ては宣言とは異なり、実行時に実行されます.
  • 	console.log(a) // undefined -> 값이 할당되지 않았으므로 undefined가 출력됨.
    	var a; 
    	a = 100;
    
    	console.log(a) //100

    再割当値

    	var a = 100;
    	a = 90;
  • 変数は、値を再割り当てできます.
  • 新しいメモリ領域を取得した後、既存の値を変更するのではなく、新しい値をメモリ領域に格納します.
  • で使用されなくなった値は、不要なコレクタ(定期的にメモリ領域をチェックして使用されなくなったメモリを解放する)によって自動的にメモリから解放されます.
  • 変数の再割り当てができない場合は、定数(const)と呼ばれます.
  • ┑識別子命名規則

  • 特殊文字以外の文字、数字、$を含めることができます.
  • 文字、$で始まるはずです.
  • 予約語は識別子として使用できません.
    <予約語>(*識別子として使用できますがstrictモードでは使用できません)
    abstract, arguments, boolean, break, byte,
    case, catch, char, class, const, continue, debugger, default, delete, do, double, else, enum, eval, export, extends, false, final, finally, float, for, function, goto, if, implements, import, in instanceof, int, nterface, let, long, native, new, null, package, private, protected, public, eturn, short, static, super switch, synchronized, this, throw, throws, transient, true, try, typeof, var, void, volatile,
    while, with, yield,
  • 命名規則

  • camelCase:中間単語の先頭のみ大文字
  • snake case:接続
  • PascalCase:すべてのフロントエンド大文字
  • JSでは、変数、関数名はcamel case、コンストラクション関数、クラス名はpascal caseを使用します.
  • 『モダンjavascript deepdiveと後続探索』