06/データ型


JavaScriptのすべての値にデータ型があります.
JavaScript(ES 6)は、7種類のデータ型を提供します.
7つのデータ型は、元のタイプとオブジェクトのタイプに分けられます.

数値タイプの値1は、文字列タイプの値「1」とは異なります.
保持する必要があるメモリ容量の大きさは異なり、メモリに格納されるバイナリ数も異なり、取得と分析の仕方も異なります.
(元のタイプ、オブジェクトタイプの詳細は、11章...)
数値タイプ
JavaScriptでは、数値タイプ(実数)が1つしかありません(64ビット浮動小数点フォーマット)
整数、実数、バイナリ、8進数、16進数のテキストは、メモリにバイナリ形式で格納されます.この値を参照すると、10進数として解釈されます.
consol.log(0b01000001) // 2진수, 65
consol.log(0o101) // 8진수, 65
console.log(0x41) // 16진수, 65

console.log(1 === 1.0); // true, 숫자 타입은 모두 실수로 처리됩니다.
数値タイプは、3つの特殊な値を表すこともできます.
console.log(10/0) // Infinity
console.log(10/-0) // -Infinity
console.log(1*'String') // NaN
文字列タイプ
文字列は、単一引用符、二重引用符、または逆引用符でテキストを囲みます.
  • )テンプレート
    ES 6から導入された新しい文字列記号
  • var template = `Template Literal` // 백틱사용
  • )挿入式
  • var name = "Lee"
    console.log(`My name is ${Lee}`) // My name is Lee
    不規則なタイプ
    論理真は、偽のtrueとfalseを表す.
    Nullタイプ
    変数に値がないことを意図的に宣言するために使用します.
    シンボルタイプ
    ES 6に追加されたデータ型.シンボル値は、他の値と重複しない一意の値です.
    Symbol関数を呼び出して生成される値は、他の値とは絶対に繰り返されない唯一の無意味な値です.
    var key = Symbol('key');
    console.log(typeof key); // symbol
    
    var obj = {};
    
    obj[key] = 'value';
    console.log(obj[key]); // value
    オブジェクトタイプ
    以上の6つのデータ型以外の値はすべてオブジェクト型です.
    (11章参照...)
    必要なデータ型
    1)値を格納する際に必要なメモリ容量の大きさを決定します.
    2)参照値を決定するために一度に持ち上げる必要があるメモリ領域の大きさ、
    3)メモリから取得したバイナリ数をどのように解釈するかを決定します.
    ダイナミックタイプ言語
    JavaScriptはダイナミックタイプ言語です.
    静的タイプ言語にはc,java,c++などがある.
    静的タイプ言語では変数のタイプを変更することはできません.宣言されたタイプにのみ値を割り当てることができます.
    ダイナミックタイプ言語にはJavaScript、Python、PHPなどがあります.
    動的タイプ言語の変数は、宣言ではなく割り当てによって決定されます.また,再割り当てにより変数のタイプを随時動的に変化させることができる.
    var foo = 3;
    console.log(typeof foo) // number
    foo = 'hello';
    conosole.log(typeof foo) // string
    foo = {};
    console.log(typeof foo) // object
    foo = [];
    console.log(typeof foo) // object
    foo = function () {};
    console.log(typeof foo) // object
    
    変数のタイプが変わりやすいため柔軟性は高いが信頼性は悪い.
    使用に注意する.