https://idea-hack.com/courses/about-data-type-of-javascript-which-understanding-tends-to-be-ambiguous/lessons/what-is-the-javascript-data-type/
https://idea-hack.com/courses/about-data-type-of-javascript-which-understanding-tends-to-be-ambiguous/lessons/what-is-the-javascript-data-type/

JavaScriptのデータ型とは何か?

JavaScriptのデータ型って何?

JavaScriptで取り扱う数値・文字列・真偽値・オブジェクトといった値は全て「データ型」のうちの1つです。

大きく分けてデータ型は以下の2つに分けられます。

データ型意味
プリミティブ型(基本形)数値・文字列といった「データそのもの」
オブジェクト型(複合型)データを参照するデータで、さらに6種類に小分けされる
データ型

プリミティブ型

プリミティブ型の種類は下記の通りです。一言で説明すると、プリミティブ型は「true, false」といったデータの値そのものです。

プリミティブ型意味
Boolean真偽値の型true, false
String文字列の型‘アイウエオ’,’東京’
Number数値の型100,200
Undefined値が定義されていないundefined
Null値が存在しないnull
SymbolシンボルSymbol()
プリミティブ型のデータ

オブジェクト型

「データを参照するデータ」と聞くと、理解しがたいですが、端的に言えば、下記のコードの様に、変数の定義・配列の定義・オブジェクトの定義は全て「データを参照して特定の値に格納したデータ」であり、オブジェクト型です。

JavaScript
//Numberを参照するデータ
const number = 100;

//'アイウエオ'を参照するデータ
const string = 'アイウエオ';

//配列を参照するデータ
const array = ['100,200,300'];

//オブジェクトを参照するデータ
const object = {
age: 30,
name: '佐藤',
}

イミュータブル(不変)データとミュータブル(可変)データの違い

データはイミュータブルデータとミュータブルデータという定義で区分けすることも可能です。

データ型意味
プリミティブ型(基本形)イミュータブル(Immutable, 不変)
オブジェクト型(複合型)ミュータブル(Mutable, 可変)

この様に、プリミティブ型とオブジェクト型の違いは、データを後から上書きできるかの違いとも言えます。

プリミティブ型のデータは「不変」であり、オブジェクト型のデータは「可変」です。

サンプルコード

Output
イミュータブルオブジェクトの例
ミュータブルオブジェクトの例
Pug
div
		table.table
			tbody
				tr
					th イミュータブルオブジェクトの例
					td#targetText
				tr
					th ミュータブルオブジェクトの例
					td#targetText1
JavaScript
const targetText = document.getElementById( 'targetText' );
const targetText1 = document.getElementById( 'targetText1' );
//イミュータブルオブジェクトの例
const sampleValue = 100; //100という値は不変なので、100はイミュータブルオブジェクト
targetText.textContent = sampleValue;
//ミュータブルオブジェクトの例
const sampleArray = [100,200,300]; //値は[100,200,300]となる
sampleArray[0] = 1000; //この値の中身は変更が可能なので、[100,200,300]はミュータブルオブジェクト
targetText1.textContent = sampleArray;

コード欄にもコメントを記載していますが、配列は中身を上書きすることができるので、ミュータブルオブジェクトであり、100という数字自体は変更することができないのでイミュータブルオブジェクトという扱いになります。

インストラクター
コメント

コメントを残す