初心者がつまづきやすいJavaScriptでのデータ型の種類と、プリミティブ型、オブジェクト型とは?、値の直接と参照受け渡しの違いについてです。
目次
JavaScriptのデータ型の種類一覧
JavaScriptのデータには型があり、型の種類は大きく分けて2種類あります。
- 【基本型】プリミティブ型(根本的な値)
- 【複合型】オブジェクト型(参照型、プリミティブでないもの)
【基本型】プリミティブ型 7種類
実際に値を持っている、根本的な値を”プリミティブ”と言います。
データ型 | 意味 | 例 |
---|---|---|
Boolean | 真偽値true と false | true と false |
Number | 数値 | 48 |
BigInt | 巨大な整数(任意の精度で整数を表現) | 7902321413278321n |
String | 文字列 (テキスト) | “JavaScript” |
Symbol | シンボル 変化しないユニークなプリミティブ値 オブジェクトのプロパティのキーとして使用 | Symbol(“シンボル”) |
undefined | 値が未定義 値を代入していない変数の値 | undefined |
Null | 値が存在しない 存在するが中身が空 | null (typeofではObjectを返す) |
特長
- 変数には、値が直接格納される。
- 値の受け渡し時には、値そのものが受け渡される。
複合型: オブジェクト型(参照型)
プリミティブではない、プロパティ(値)とメソッド(操作)の集まりを”オブジェクト”と言います。
データ型 | 意味 | 例 |
---|---|---|
array | 配列 複数の値をまとめて管理 | [“apple”,”banana”,”orange”] |
object | オブジェクト 複数のデータをまとめて管理 オブジェクトはそれぞれの値に プロパティと呼ばれる名前をつけて管理 | {name: “apple”, price: 200} |
function | 関数 ある一連の手続を1つの処理としてまとめる機能 | function() { … } |
特徴
- 変数には値が格納されている配列の場所(メモリアドレス)が格納される。
- 値が変更されると、配列自体の値が変更され、参照先が同じになっている変数全てに影響する。
参照型ではオブジェクトがコピーされる時、その値自体がコピーされるのではなく、そのオブジェクトが格納されているメモリ上のアドレス(参照値)がコピーされます。
JavaScriptのデータ型を調べる方法 – typeof演算子
typeof
演算子を使うと、次のようにデータ型を調べることができます。
console.log(typeof true);// => "boolean"
console.log(typeof 48); // => "number"
console.log(typeof 7902321413278321n); // => "bigint"
console.log(typeof "JavaScript"); // => "string"
console.log(typeof Symbol("シンボル"));// => "symbol"
console.log(typeof undefined); // => "undefined"
console.log(typeof null); // => "object"
console.log(typeof ["配列"]); // => "object"
console.log(typeof { "key": "value" }); // => "object"
console.log(typeof function() {}); // => "function"
JavaScriptは弱く型付けされた”weakly-type”、または緩く型付けされた “loosely-typed” 言語で、使われる構文でデータ型を自動的に決定する言語という特徴があります。
ブラウザエディタ「CodePen」を使うと実際にコードを試してみることができます。
まとめ
JavaScriptでデータ型の種類と、プリミティブ型、オブジェクト型とは?、値の直接と参照受け渡しの違いについてでした。
あわせて読みたい記事
あわせて読みたい書籍
リンク
リンク