JavaScript 6データ型


JavaScript学習の整理
<モダンJavaScript Deep Dive>の手順に従います.開巻を基本フレームワークとして、個人学習の内容を追加します.
1.データ型
パーティション・データ型は、元のタイプ番号の整数を示します.実数を区別しない場合、数値タイプの元のタイプの文字列文字列が1つしか存在しない元のタイプのブール論理タイプtrue/false元のタイプundefinedvarキーワードで宣言された変数に暗黙的に割り当てられた値元のタイプの空の値がない場合、使用する値元のタイプsymboles 6に追加された7番目のタイプのオブジェクトタイプ-オブジェクト、関数、配列など.
1-1. primitve type
1) number type
  • エラー処理全数(分配密度64ビット浮動小数点フォーマット)
  • speicla numeric values: infinity, -infinity, NaN(not a number)
  •   const infinity = 1 / 0;
      const negativeInfinity = -1 / 0;
      const x = 'string' / 2;
    2) string type
    引用符
  • を使用しない場合、JavaScriptエンジンは、キーワードや識別子などのタグとして認識します.
  • var string = hello; // ReferenceError: hello is not defined
  • テンプレート文字:backtic(`)を使用
  • 複数行文字列
  • を挿入
    console.log(`1 + 2
    = ${1 + 2}`);
    // 1 + 2
    // = 3
    3) boolean type
  • false: 0, null, undefined, NaN, ''
  • true: any other value
  • const canRead = true; // value: ture, type: boolean
    const test = 3 < 1; // value: false, type:boolean
    4) undefined type
  • 開発者が意図せずに割り当てた値
  • varキーワードとして宣言された変数にデフォルトで割り当てられます.
    5) null type
  • の値がないことを意図的に宣言するために使用されます.
  • 変数は、以前に参照された値を参照しなくなり、以前に割り当てられた値の参照を明確に削除します.(TIP.変数のスキャン範囲を絞り込み、変数自体を素早く消去します.)
  • 関数が有効値を返さない場合はnullを明示的に返すこともできます.
  • <!DOCTYPE html>
    <html>
    <body>
      <script>
        var element = document.querySelector('.myClass');
    
        // HTML 문서에 myClass 클래스를 갖는 요소가 없다면 null을 반환한다.
        console.log(element); // null
      </script>
    </body>
    </html>
    6) symbol type
  • 他の値と重複しない一意の値:一意の識別子が必要な場合に使用します.
  • 生成
  • :シンボル関数のほか、元の値は文字で生成されますが、シンボル関数はシンボル関数生成を呼び出します.
  • は、競合するリスクのない唯一の値記号をpropertyキーとして使用する.
  • // 심벌 값 생성
    var key = Symbol('key');
    // 객체 생성
    var obj = {};
    
    obk[key] = 'value';
    console.log(obj[key]); // value
    1-2. obeject type
    2.必要なデータ型
  • の値を格納するときに必要なメモリ容量のサイズを決定します.
  • のすべての値にはデータ型があり、メモリにバイナリ形式で格納され、即位したリストです.
  • の値を参照する場合は、一度に取得するメモリ領域のサイズを決定します.
  • メモリ領域でメモリユニットをリードするアドレスを見つけて、何個のメモリユニット(=バイト数)を取得しますか?
  • は、メモリから取得されたバイナリ数をどのように解釈するかを決定する.
    3.ダイナミックタイプ
  • cf.静的タイプ言語
  • C, Java
  • 変数のタイプは変更できません.宣言されたタイプにのみ値を割り当てることができます.
  • 静的タイプ言語は、変数宣言時に変数のタイプを決定し、変数のタイプを変更することはできません.
  • JSの変数は、宣言ではなく付与によってタイプが推定されます.
  • および再割り当ては、変数のタイプをいつでも動的に変更することができる.
  • を整理し、変数にタイプがありません.価格はタイプのみです.
  • 注意
  • 、ダイナミックタイプ言語は柔軟性が高く、信頼性が低い
  • 💫TIP
  • 変数は、必要に応じてのみ使用されます.
  • 変数の有効範囲を最大限に縮小し、変数の副作用を抑制する.
  • グローバル変数は使用しないでください.
  • 変数と比較して、定数を使用して値の変更を抑制します.
  • 変数の名前は、変数の目的または意味を理解するために命名されます.子供に名前をつけるように、よく考えてから行きます.