JavaScriptの組み込み型(プリミティブ型)は、言語の基本的なデータ構造であり、プログラムの中でデータを扱うための土台となります。これらの型を理解することは、効率的なプログラミングを行うために非常に重要です。この記事では、JavaScriptの主要な組み込み型について、完全かつ包括的に解説します。
1. 数値型(Number)
JavaScriptで最も一般的に使用されるデータ型の一つが、数値型です。Number型は整数や浮動小数点数を表現するために使われます。JavaScriptのNumber型は、IEEE 754標準に基づく64ビットの浮動小数点数を使用しており、数値としては非常に広範囲の値を扱うことができます。
javascriptlet num1 = 42; // 整数
let num2 = 3.14; // 浮動小数点数
特殊な数値
JavaScriptのNumber型には、いくつかの特殊な値も含まれています:
-
Infinity:無限大。 -
-Infinity:負の無限大。 -
NaN:数値でない値(Not-a-Number)。
javascriptconsole.log(1 / 0); // Infinity
console.log(0 / 0); // NaN
2. 文字列型(String)
文字列型は、テキストデータを表現するための型です。文字列はシングルクォート(')、ダブルクォート(")、またはバックティック(`)を使用して定義できます。
javascriptlet str1 = 'Hello';
let str2 = "World";
let str3 = `Hello, ${str1}`; // テンプレートリテラル
テンプレートリテラル(バックティックを使用)は、文字列内で変数を埋め込んだり、複数行の文字列を作成するために便利です。
javascriptlet name = 'Alice';
let greeting = `Hello, ${name}!`; // 変数を埋め込む
3. ブール型(Boolean)
Boolean型は、真(true)または偽(false)の2つの値を取ります。この型は、条件式や比較演算に使用されます。
javascriptlet isActive = true;
let isExpired = false;
ブール型は、論理演算子と組み合わせて使用することが一般的です。例えば、&&(AND)、||(OR)、!(NOT)演算子を使います。
javascriptlet result = true && false; // false
4. 未定義型(Undefined)
undefinedは、変数が宣言されているが値が割り当てられていない場合にその変数に自動的に設定される型です。明示的にundefinedを設定することもできます。
javascriptlet a;
console.log(a); // undefined
let b = undefined;
5. ヌル型(Null)
nullは、意図的に「値が存在しない」ことを示すための特別な値です。undefinedと似ていますが、nullは意図的に「無」を示すために使います。
javascriptlet obj = null;
6. シンボル型(Symbol)
Symbol型は、ES6で導入された新しいデータ型で、ユニークで不変な識別子を生成します。主にオブジェクトのプロパティ名として使用されます。
javascriptlet sym1 = Symbol('description');
let sym2 = Symbol('description');
console.log(sym1 === sym2); // false (異なるシンボル)
シンボルは、オブジェクトのプロパティ名として衝突を避けるために利用されます。
javascriptlet obj = {
[sym1]: 'value'
};
7. オブジェクト型(Object)
Object型は、JavaScriptにおける複合データ型の一つです。オブジェクトは、キーと値のペアから成り立っており、複数のデータを一つのまとまりとして管理することができます。
javascriptlet person = {
name: 'John',
age: 30,
greet: function() {
console.log('Hello');
}
};
オブジェクトは、配列や関数も含むことができます。また、オブジェクトのプロパティは動的に追加や削除が可能です。
8. 配列型(Array)
配列は、複数の値を順番に格納できる特殊なオブジェクトです。配列の要素はインデックスを使ってアクセスします。
javascriptlet arr = [1, 2, 3, 4];
console.log(arr[0]); // 1
配列は、pushやpop、shift、unshiftなどのメソッドを使って要素の追加や削除を行うことができます。
9. 関数型(Function)
関数もJavaScriptのデータ型の一部です。関数は、定義されると、それ自体がオブジェクトとして扱われます。関数型は、他の型と同様に変数に格納したり、引数として渡したり、戻り値として返すことができます。
javascriptfunction greet(name) {
console.log(`Hello, ${name}!`);
}
greet('Alice');
10. BigInt型
BigIntは、非常に大きな整数を扱うための型です。JavaScriptのNumber型では、2の53乗を超える整数を正確に表現することができませんが、BigInt型はその制限を超えた数値を扱うことができます。
javascriptlet bigNumber = 1234567890123456789012345678901234567890n;
結論
JavaScriptには、数値型、文字列型、ブール型、未定義型、ヌル型、シンボル型、オブジェクト型、配列型、関数型、そして最近追加されたBigInt型など、多くの組み込み型があります。それぞれの型は、特定の用途やシナリオで最も効果的に使用されるため、開発者はこれらを理解し、適切な場面で使い分けることが重要です。
