概要

編集

JavaScriptは、動的型付け言語であり、変数に格納される値がその型を決定します。JavaScriptには7つの基本データ型(プリミティブ型)と1つのオブジェクト型があります。本記事では、それらの型の特性と利用法について解説します。

データ型

編集

JavaScriptのデータ型は以下のように分類されます。

プリミティブ型

編集

プリミティブ型は、変更不可能な基本データ型です。

undefined
値が未定義であることを表します。変数が宣言されただけで値が代入されていない場合、自動的にundefinedとなります。
let a;
console.log(a); // undefined
null
値が空であることを明示的に示します。オブジェクトが存在しないことを意味します。
let b = null;
console.log(b); // null
boolean
真偽値を表します。値はtrueまたはfalseのいずれかです。
let isValid = true;
console.log(isValid); // true
number
数値を表します。整数および浮動小数点数が含まれます。
let num = 42;
console.log(num); // 42
bigint
任意の精度の整数を扱う型です。数値リテラルの末尾にnを付けることで作成します。
let big = 9007199254740991n;
console.log(big); // 9007199254740991n
string
テキストデータを表します。シングルクォーテーション、ダブルクォーテーション、またはテンプレートリテラルで作成します。
let text = "Hello, World!";
console.log(text); // Hello, World!
symbol
一意の識別子を作成するために使用されます。
let sym = Symbol("unique");
console.log(sym); // Symbol(unique)

オブジェクト型

編集

オブジェクト型は複雑なデータ構造を表すための型です。配列や関数もこの型に含まれます。

let obj = { name: "John", age: 30 };
console.log(obj.name); // John

型の判定

編集

JavaScriptでは、typeof演算子を使用して値の型を判定できます。

console.log(typeof 42);        // "number"
console.log(typeof "text");    // "string"
console.log(typeof true);      // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null);      // "object" (仕様上のバグ)
console.log(typeof {});        // "object"
console.log(typeof Symbol());  // "symbol"

特殊な値

編集

NaNは"Not-a-Number"の略で、無効な数値演算の結果として生成されます。

console.log(0 / 0); // NaN

無限大を表します。数値が範囲外になった場合に生成されます。

console.log(1 / 0); // Infinity

型変換

編集

JavaScriptでは、暗黙的または明示的な型変換が発生することがあります。

暗黙的な型変換

編集
console.log("5" + 5); // "55" (文字列に変換される)

明示的な型変換

編集
console.log(Number("42")); // 42
console.log(String(42));   // "42"

注意点

編集
  • undefinednullは異なる型ですが、どちらも==では等しいと評価されます。
console.log(undefined == null); // true
console.log(undefined === null); // false

参考

編集