JavaScriptのプリミティブデータ型とオブジェクトの違いとは?基本をわかりやすく解説
はじめに:プリミティブデータ型とは
プリミティブ(基本型)データ型とは、ECMAScript標準で定義された「不変(イミュータブル)な値」のことです。プリミティブな値は一度生成されると、その内容自体を変更することはできません。変更のように見える操作は、実際には新しい値が生成されているだけです。
JavaScriptで扱える代表的なプリミティブデータ型は以下の通りです。
- 数値(Number):例:3、310.20 など
- 文字列(String):例:"This text string" など
- 真偽値(Boolean):例:true または false
さらに、JavaScriptには null と undefined という2つの特殊なデータ型も用意されています。どちらも単一の値しか持ちません。null は「意図的に空であること」を表し、undefined は「値がまだ割り当てられていない状態」を表します。
なお、近年のECMAScript仕様では、一意な識別子を生成する Symbol や、大きな整数を扱う BigInt もプリミティブ型として追加されています。
オブジェクトとは
これらのプリミティブ型に対して、JavaScriptは オブジェクト という複合データ型をサポートしています。オブジェクトは「プロパティの集合」とみなされ、各プロパティはキー(名前)によって識別されます。プロパティには主に次の2種類があります。
1. データプロパティ(Data Property)
データプロパティは、キーと値を直接関連付けるプロパティです。ここで重要なのは、同じ文字列でも「プリミティブ型」として扱う場合と「オブジェクト」として扱う場合で挙動が異なるという点です。
プリミティブ型の文字列の場合:
var str = "Demo string!";
Stringオブジェクトの場合:
var str = new String("Demo string!");
前者はプリミティブな値そのものですが、後者は new 演算子によって生成されたラッパーオブジェクトです。このため、typeof の結果も前者は "string"、後者は "object" となり、厳密等価演算子(===)での比較結果も異なります。
2. アクセサプロパティ(Accessor Property)
アクセサプロパティは、キーをゲッター(getter)・セッター(setter)関数に関連付けるプロパティです。値を直接保持するのではなく、値の取得時・設定時に実行される処理を定義できるのが特徴です。これにより、読み取り専用のプロパティや、代入時にバリデーションを行うプロパティなどを実現できます。
プリミティブ型とオブジェクトの主な違いまとめ
- 可変性:プリミティブは不変(イミュータブル)、オブジェクトは可変(ミュータブル)
- 比較方法:プリミティブは「値」で比較され、オブジェクトは「参照(メモリ上の場所)」で比較される
- コピーの挙動:プリミティブは値がコピーされる一方、オブジェクトは参照が渡されるため、元のオブジェクトにも影響する
- typeof の結果:プリミティブはそれぞれ固有の型名を返すが、オブジェクト(null以外)は
"object"を返す
このように、プリミティブ型はシンプルで軽量な値の表現に適しており、オブジェクトは複雑なデータ構造や動的な振る舞いを持たせたい場合に活用します。両者の違いを正しく理解することは、予期しないバグを防ぎ、堅牢なJavaScriptコードを書くための第一歩となります。
-
Wi-Fi 6と5Gの違いとは?特徴・速度・使い分けを徹底解説
5Gネットワークは、SNSなどでも頻繁に話題になる注目の技術です。同様に、Wi-Fi 6への期待も高まっていますが、これは5Gとはまったく異なる技術です。本記事では、Wi-Fi 6と5Gネットワークの違いをわかりやすく解説します。 Wi-Fi 6とは? Wi-Fi 6は、IEEE 802.11ax規格に基づく新しい認証プログラムです。従来のWi-Fi技術と異なる最大の特徴は、より遠い距離でも高速な接続を実現できる点にあります。複数のデバイスが同時に接続されていても安定したパフォーマンスを発揮し、電源環境に多少の問題があっても性能が低下しにくいという優れた特性を持っています。 Wi-Fi 6は
-
Windows 10とWindows 11の違いを徹底比較!アップグレードすべきか判断するポイント
Microsoft(マイクロソフト)は、数々の新機能と改善点を盛り込んだ最新OS「Windows 11」をリリースしました。一方で、これまで数多くのパッチやアップデートが適用されてきたWindows 10は、新しいWindows 11よりも安定したOSと言えます。Microsoftによると、Windows 10のサポートは2025年以降に終了する予定のため、Windows 11へアップグレードするか、Windows 10を使い続けるかを検討する時間は十分にあります。この記事では、Windows 10とWindows 11の性能・機能・改善点を比較し、新しいOSへ移行すべきか、それともWindo