JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

【初心者向け】JavaScriptのプリミティブデータ型と非プリミティブデータ型の違いを解説

プリミティブデータ型と非プリミティブデータ型とは

JavaScriptのデータ型は、大きく分けて「プリミティブデータ型」と「非プリミティブデータ型」の2種類に分類されます。

プリミティブデータ型には、number(数値)、string(文字列)、boolean(真偽値)、null、undefined、symbol、bigint などが含まれます。これらは変数に値そのものを直接格納するため、「値渡し」として扱われます。

一方、非プリミティブデータ型(参照型)には、Array(配列)や Object(オブジェクト)などがあります。これらはメモリ上のアドレスへの参照を通じて管理されるため、代入や関数への受け渡しの際には「参照渡し」として動作する点が大きな特徴です。

サンプルコード

以下のコードでは、typeof 演算子を使ってそれぞれの変数のデータ型を確認しています。

var number = 10;
var stringValue = "John";
var booleanValue = true;
var obj = {};
var newArray = new Array();

console.log("The data type is=" + typeof number);
console.log("The data type is=" + typeof stringValue);
console.log("The data type is=" + typeof booleanValue);
console.log("The data type is=" + typeof obj);
console.log("The data type is=" + typeof newArray);

上記のプログラムを実行するには、Node.js環境で次のコマンドを使用します。

node fileName.js

実行結果

ここではファイル名を demo162.js としています。実行すると、以下のような出力が得られます。

PS C:\Users\Amit\JavaScript-code> node demo162.js
The data type is=number
The data type is=string
The data type is=boolean
The data type is=object
The data type is=object

結果のポイント

出力結果から、number、string、boolean の各プリミティブ型は、それぞれ対応する型名が正しく表示されていることがわかります。一方で、オブジェクトリテラル {}new Array() で生成した配列も、typeof の結果はどちらも "object" になります。

これは、JavaScriptにおいて配列がオブジェクトの一種として扱われているためです。配列かどうかを厳密に判定したい場合は、Array.isArray() メソッドを使用すると確実です。

  1. C++の基本データ型と派生データ型の違いを徹底解説

    プログラミングにおける「データ型」とは、ユーザーが扱おうとするデータの種類や性質を表す概念です。コンパイラやインタプリタは、このデータ型に基づいてデータを処理し、メインメモリ上に対応する格納領域を確保します。データ型は、その性質によって大きく2つに分類できます。1つは「基本データ型(Fundamental Data Type)」、もう1つは「派生データ型(Derived Data Type)」です。どちらもプログラミングで広く活用されており、ビジネスロジックをデータに対して実装する際には、どちらも同等に重要な役割を果たします。基本データ型と派生データ型の主な違い以下の表は、基本データ型と派生デ

  2. データ型とデータ構造の違いとは?5つの重要な相違点を徹底解説

    プログラミングはすべてデータを中心に展開されます。ビジネスロジックはデータの上に実装され、アプリケーションやプロジェクトの機能はデータの流れによって成り立っています。そのため、データを最適に活用し、優れたデータモデルで効果的なプログラミングを行うには、データの整理と保存が非常に重要になります。 一般的に、データ型とデータ構造はどちらもデータの性質や整理方法に関わるため、同じもののように見えることがあります。しかし、両者は明確に異なる概念です。一方はデータの種類と性質を記述するものであり、もう一方はデータを格納するコレクション(集合)を表すものです。 データ型とデータ構造の主な違い 以下の表は、