Deep Dive 06章データ型


モダンjavascript deep dive

第06章データ型


データ型:値のタイプjsのすべての値にデータ型があります.
元のタイプ:数値、文字列、ブール値、未定義、null、シンボルなど
オブジェクトタイプ:オブジェクト、関数、配列など

1.数値タイプ

  • 整数、実数、負数はすべて数値タイプです.
  • 数値タイプの値は、分配密度64ビット浮動小数点フォーマットに従います.したがって、すべての数字は実数で表される.整数のみを表すタイプはありません.
  • console.log(2 === 2.0); //true

  • 2進数、8進数、16進数はいずれも数値タイプです.

  • エンジンの格納はすべてバイナリで、参照するとすべて10進数です.

  • 無限大、負無限大、NaN(not a number)の3つの特別値も表す.
  • 2.文字列タイプ

  • 文字列はquote、二重quotes、backtick(es 6)でテキストを囲み、最もよく使われる記号はquote(""")である.
  • JavaScriptの文字列は変更できない値です.(?) -- 第11章:
  • 3.テンプレート

  • テンプレート文字はes 6から導入する新しい文字列記号
  • である.
  • 行文字列、式挿入、タグテンプレートなど便利な文字列処理機能を提供します.
  • テンプレート文字は逆チェック(`)を使用します.
  • 複数行文字列
  • テンプレートテキストで、改行が許可されている場合は、すべてのスペースが適用されます.
  • es 6の前に、マルチラインを表現するには、escapeシーケンスのnを使用する必要があります.
  • 式の挿入
  • の前に、文字列は+で接続できます.
  • es 6以降はテンプレートとして容易に使用できる.
  • var a = '안녕';
    var b = '하세요';
    console.log('여러분 '+a+b); // 여러분 안녕하세요
    console.log(`여러분 ${a+b}`) // 여러분 안녕하세요

    4.ブリテンタイプ

  • 真偽値
  • 5.未定義タイプ

  • 未定義タイプは未定義値のみです.
  • varと宣言された変数はhoistingによって未定義に初期化されます.
  • 開発者は
  • の未定義の内容を意図的に割り当てるが,その初心に反して混乱をもたらさないほうがよい.
  • 6.空のタイプ

  • nullタイプの値はnull値のみです.
  • 変数に値がないことを意図的に宣言するために使用されます.
  • 変数にnullを割り当てると、変数が以前参照した値を参照しなくなることを意味します.
  • エンジンは、メモリのゴミ収集を実行します.
  • 7.シンボルタイプ

  • es 6に追加された7番目のタイプ.
  • は、主に名前の競合のリスクのないオブジェクトの一意のproperty(オブジェクト内のキーとbellクラスのセット)キーを作成するために使用されます.
  • はまだよくわかりませんが、33章から勉強します.
  • 8.必要なデータ型

  • データ型のメモリ領域の解放と参照
  • データ型は、確保する必要があるメモリ容量の大きさを決定するため、メモリを効率的に使用するためにデータ型が大きな役割を果たす.
  • JavaScriptは、すべての数値タイプを分配密度64ビット浮動小数点として表すため、8バイトで数値を表す.
  • したがって、数値タイプのサイズは8バイトである.
  • エンジンは、タイプを読み取り、アドレスのメモリにタイプサイズ単位でメモリを読み込みます.
  • データ型を使用して、
  • によって読み取られたメモリが、どのようなタイプであるかを説明するかを決定します.
  • 9.ダイナミックタイプ


  • c、javaなどの静的タイプ言語は、変数を宣言する際にデータ型を宣言する必要があります.これを明確なタイプ宣言と呼ぶ.

  • JavaScriptはダイナミックタイプ言語です.したがって、変数を宣言する場合はvar、let、constキーのみを使用して宣言できます.

  • 静的タイプ言語は、変数を宣言した後はタイプを変更できませんが、Jsは変数に割り当てられた値に基づいてタイプを変更し続けます.

  • JavaScriptの変数は、宣言ではなく割り当てによってデータ型が決定されます.(type inference)

  • 再割り当てにより、変数のタイプが動的に変化します.この特徴をダイナミックタイプと呼ぶ.

  • タイプは変数ではなく、値があります.

  • ダイナミックタイプ言語の利点は便利です.しかし欠点もある.

  • 複雑なプログラムでは、変化する変数の値を追跡するのは難しい場合があります.

  • 価格を直接確認するまでは、タイプは確定できません.

  • 開発者の意図とは異なり、黙々とタイプを変える可能性があります.

  • ダイナミックタイプ言語の長所と短所の結論:柔軟性は向上したが、信頼性は低下した.

  • 動的タイプ変数を使用するときの注意点
  • 変数は、必要に応じてのみ
  • を使用します.
  • 焦点距離を狭める(第13章)
  • グローバル変数
  • を無効にする
  • 変数ではなく定数
  • を使用
  • を規則に適合するように命名します.