JavaScript/JavaScriptの型と値
概要
編集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"
注意点
編集console.log(undefined == null); // true console.log(undefined === null); // false