Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript を書き始める前に知っておきたい JavaScript のこと #04

JavaScript を書き始める前に知っておきたい JavaScript のこと #04

JavaScript のデータ型を見てみようという内容。今回はプリミティブ型の解説です。

Kotaro Chiba

August 29, 2020
Tweet

More Decks by Kotaro Chiba

Other Decks in Programming

Transcript

  1. let mutableVar = 'Hello'; // => String Type // substitution

    mutableVar = 42; // => Number Type // substitution mutableVar = true; // => Boolean Type 6 6
  2. String const str = 'Hello World :)'; 16 ビット符号なし整数値の 要素

    の集合体 各要素は⽂字列の位置を指します 'Hello World :)' では最初の⽂字を index 0, 次を index 1... とする 13 13
  3. Number const num = 1919; 「倍精度 64 ビット形式による IEEE 754

    値」 (-(2^53-1) から 2^53-1 の間の数値) Number.MAX_SAFE_INTEGER (9007199254740991) で取得可能 『整数』というわけではないでないことに注⽬! これより⼤きい数値を扱いたい場合はどうすれば... 14 14
  4. BigInt const bigNum = 2n ** 54n; // 18014398509481984n const

    morebiggerNum = bigNum + 100n; // 18014398509482084n ES10(ES2020) で策定 Number.MAX_SAFE_INTEGER 以上の数値を安全に扱える Number と混同して仕様することができない 15 15
  5. Undefined const unDefined; console.log(unDefined); // undefined const obj = {};

    console.log(obj.foo); // undefined 以下の時に⾃動的に割り当てられます。 . 宣⾔されている変数に値が割り当てられていない . 任意のオブジェクトのプロパティが定義されていない 17 17
  6. Symbol const newSymbol = Symbol('new symbol'); newSymbol.toString(); // => 'Symbol(new

    symbol)' newSymbol.description // => 'new symbol' const preSymbol = Symbol('new symbol'); newSymbol === preSymbol // => false Symbol を宣⾔する値は、固有のID(シンボル)を持つ値とし て区別されます。 上記のようにシンボルには任意の description を宣⾔でき ますが、内容が同じでも⼀度作成したシンボルは固有のものと して存在するため⽐較をしても false が返ります。 19 19
  7. // Literal const literalNum = 'stringggggggggg'; // Constractor const constractorNum

    = String('stringggggggggg'); // Object const newString = new String('stringggggggggg'); typeof literalNum // => string typeof constractorNum // => string typeof newString // => object 21 21
  8. // 同値 1 === 1 // true 1 === '1'

    // false 1 === new Number(1) // false null === undefined // false // 等値 1 == 1 // true 1 == '1' // true 1 == new Number(1) // true null == undefined // true 同値 : 型と値、両⽅を⽐較 等値 : 値を⽐較し型はスルーする 23 23