[JS]04変数


変数#ヘンスウ#


識別子(Identifier)


:識別可能な一意の名前で、どの値を区別しますか?
  • 識別子は、値ではなく値を格納するメモリアドレスを記憶する.>
  • は、メモリ・アドレスからメモリ領域に格納されている値にアクセスできることを意味します.
  • 変数、下位数、クラス名などは識別子です.
  • ネーミングルールを遵守し、宣言に基づいて識別子の存在を通知する必要があります.
  • ☝🏻 命名規則

  • 特殊文字に加えて、文字、数字、ベースコード()、およびドル記号($)を含むこともできる.
  • の数字で始まることはできません.
  • 予約語は識別子として使用できません.
    ☝🏻 予約語:プログラミング言語で使用または使用する語
    ex)break、class、const、continue、else、if、import、new、null、thisなど
    ->let、static、interface、privateなどは識別子として使用できますが、strictモードでは使用できません.
  • 変数はカンマで区切ることができ、1つのドアで同時に複数釣れるが、毒性が悪くなることは推奨されない.
  • var person, _name, first_name, val1;
    大文字と小文字を区別する
  • .
  • var firstname;
    var FIRSTNAME
    // 위 두 변수는 각각 별개의 변수이다.
    🚨 変数名は、変数の存在目的をより容易に理解できるように、その意味を明確に表す必要があります.

    ☝🏻 名前付き会議(読み取り可能な名前を作成するため)


    」キャメルボックス
    var firstName;
  • 蛇形盤盤盤盤盤
  • var first_name;
    」パスカルケース
    var FirstName;
  • ハンガリー言語ケース
  • var strFirstName;   //type + identifier
    var $elem = document.getElementById('myId') //DOM 노드
    ->通常は変数または関数の名前にcamel case/コンストラクション関数を使用し、クラスの名前にpascal caseを使用します.

    変数#ヘンスウ#


    :値を格納するメモリ領域自体、または名前を付けた名前>値の場所を識別するシンボル名.
    (変数はプログラミング言語でデータを管理する重要な概念である)
  • 変数は、単一の値を記憶するためのメカニズム
  • である.
    複数の値
  • を格納するには、複数の変数を使用する必要があります.ただし、配列やオブジェクトなどのデータ構造を使用すると、複数の相関値を組み合わせて、1つの値のように使用できます.
  • var result = 10+20
    // result(변수명) : 메모리 공간에 저장된 값을 식별할 수 있는 고유한 이름
    // 30(변수값) : 변수에 저장된 값
    割当て
  • :変数に値を格納
  • を参照:変数に格納されている値
  • を取得します.
    ☝🏻 変数に格納された値の意味を把握できる変数名には,可読性を高める副作用もある.
    ->開発者の意図を明確に示すネーミングは、コードをより理解しやすくし、コラボレーションと品質の向上に役立ちます.

    変数の宣言


    :変数の作成
    ->var、let、constキーワードですが、まずvarキーワードを理解しましょう!
    ☝🏻 ES 6ではlet,constキーワードを導入する前にvarキーワードが変数を宣言できる唯一のキーワードであったが,いくつかの欠点が見つかった.ただし、完全廃棄ではないので使用は推奨されませんが、使用可能です.
    ES 5とES 6は互いに独立した規格ではなく、ES 6のより高い集合であるため、ES 5をベースに学習しても、ES 5を理解することがより速く、より明確になる.
    var score;

    変数を宣言するには2

  • 宣言フェーズ:変数名を登録して変数の存在を通知します.
  • 初期化フェーズ:メモリ値にメモリ領域を保持し、定義されていないメモリをデフォルトで割り当てます.
    ->初期化:変数を宣言した後、varキーワードとして宣言された変数にundefinedがある最初の割り当て値(値を割り当てる必要はありません).
  • **宣言されていない識別子にアクセスすると、参照エラーが発生します.

    へんすうかそく


    :JavaScript固有のプロパティで、変数宣言をコードの先頭にします.
  • javascriptエンジンは、ソースコードの変数宣言がどこにあるかにかかわらず、他のコードの前に実行されます.
  • 変数宣言がソースコードのどこにあるかにかかわらず、変数はどこでも参照できます.
  • console.log(score); //undefined
    var score;          //변수 선언문
    ☝🏻 var、let、const、function、function*、classキーワードを使用して宣言されるすべての識別子(変数、関数、クラスなど)は反発します.すべての宣言は実行時の前のステップで最初に実行されるからです.

    割当値


    :値の割当てに使用する割当て演算子=
    var score;    //변수 선언
    score = 80;   //값의 할당
    //단축 표현
    var score = 80; //변수 선언과 값의 할당
    2番目のショートカットのように1つの文として表されても、変数宣言と値割り当ては2つの文に分けてそれぞれ実行されます.
    ☝🏻 に注意
    :変数宣言と値割当ての実行時間が異なります.
    ->変数宣言は、まずソースコード順で実行される時点の実行時より前に実行され、値の割り当ては、ソースコード順で実行される時点の実行時に実行されます.
    console.log(score);    //undefined
    var score = 80;        //변수 선언과 값의 할당
    console.log(score);    //80
  • 以前に値が定義されていなかったメモリ領域を消去し、割り当て値80を再記憶するのではなく、そのメモリ領域に新しいメモリ領域を保持し、割り当て値80を格納します.
  • 値の再割り当て


    :値が割り当てられた変数に新しい値を割り当て直します.
  • varキーワードとして宣言された変数は、再割り当てできます.
  • ☝🏻 値を再割り当てできないため、変数に格納されている値を変更できない場合は、変数ではなく定数です.
  • constキーワードを使用して宣言された変数は再割り当てが禁止され、一度しか割り当てられません.
    (+constキーワードは定数のみに使用されるとは限りませんが、後で再整理します!)
  • managed language


    :javascriptは管理言語で、言語レベルでメモリの割り当てと解放を担当するメモリ管理機能であり、開発者が直接メモリ制御を行うことは許されません.つまり、開発者はメモリを明示的に割り当てたり解放したりすることはできません.
    不要なメモリの解放はゴミ収集器で完了し,開発者も参加できない.管理言語の利点は,開発者の能力に依存する部分が相対的に小さく,ある程度の生産性を保証できるが,性能面では損失が避けられないことである.