カテゴリ: JavaScript 更新日: 2026/03/11

JavaScriptのデータ型の違いを表で比較しよう(一覧解説)

JavaScriptのデータ型の違いを表で比較しよう(一覧解説)
JavaScriptのデータ型の違いを表で比較しよう(一覧解説)

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptにはいろいろなデータ型があるって聞きましたが、何がどう違うんですか?」

先生

「いい質問ですね。データ型は、プログラムで扱う値の種類を表します。JavaScriptでは主に7つの基本データ型がありますよ。」

生徒

「えっ、そんなにあるんですか!?一つずつ見てみたいです!」

先生

「じゃあ、データ型の一覧を表で整理しながら説明していきましょう!」

1. JavaScriptの基本的なデータ型とは?(プリミティブ型)

1. JavaScriptの基本的なデータ型とは?(プリミティブ型)
1. JavaScriptの基本的なデータ型とは?(プリミティブ型)

JavaScriptで扱うデータには「型(タイプ)」という分類があります。これは、コンピュータに「これは数値だよ」「これは文章だよ」と正しく伝えるためのルールです。

2026年現在のモダンな開発において、基本となる7つのデータ型(プリミティブ型)を初心者の方向けに分かりやすく解説します。

ポイント: JavaScriptは「動的型付け言語」と呼ばれ、変数に代入する値によって自動的に型が決まる柔軟な特徴を持っています。

各データ型の具体的なイメージとサンプルコード

1. 数値型(Number)
整数や小数を扱います。計算が必要なデータはこの型を使います。


let price = 1500; // 整数
let tax = 0.1;   // 小数

2. 文字列型(String)
名前やメッセージなどの文章です。シングルクォートやダブルクォートで囲みます。


let userName = "田中太郎";
let message = 'こんにちは!';

3. 真偽値型(Boolean)
「正しい(true)」か「正しくない(false)」かの2つの状態だけを持つ型です。ログイン状態の判定などに使われます。


let isLoggedIn = true; // ログイン中
let hasError = false;  // エラーなし

4. 未定義型(Undefined)
変数は作ったけれど、まだ何も値を入れていない「空っぽ」の状態です。


let test;
console.log(test);

undefined

5. ヌル型(Null)
「値が存在しない」ことをプログラマが意図的に示した状態です。Undefinedと似ていますが、明示的に「空」にしたい時に使います。

6. 記号型(Symbol)
絶対に他と重複しない「一意な値」を作ります。プログラムの深い部分で識別子として使われる特殊な型です。

7. BigInt型
通常の数値型(Number)では扱いきれないほど、桁数が非常に大きな整数を扱うための型です。数字の末尾に「n」を付けて表現します。

2. JavaScriptのデータ型を一覧表で比較

2. JavaScriptのデータ型を一覧表で比較
2. JavaScriptのデータ型を一覧表で比較

JavaScriptで扱うデータには、いくつかの「型(種類)」があります。これらを理解しておくことで、計算ミスや予期せぬエラーを防ぐことができます。まずは、代表的な7つのデータ型を一覧で見てみましょう。

データ型 型名 具体的な例 役割・使いどころ
数値 Number 100, -5, 0.1 金額やカウント、計算に使用
文字列 String "User", '10' 名前やメッセージなどテキストを扱う
真偽値 Boolean true, false 「はい」か「いいえ」の判定に使用
未定義 Undefined undefined 値がまだ決まっていない状態
ヌル Null null 「値がない」ことをあえて示す状態
記号 Symbol Symbol() 他と重複しない固有の識別子
大きな整数 BigInt 9007...n 通常の数値では扱えない巨大な数

初心者向け:データ型を実際に使ってみよう

プログラミング未経験の方が特につまずきやすいのが、「数値の10」と「文字列の"10"」の違いです。数値は計算できますが、文字列は単なる文字として連結されます。以下のサンプルコードでその動きを確認してみましょう。


// 数値型(Number)の計算
let price = 1000;
let tax = 1.1;
console.log(price * tax); // 1100

// 文字列型(String)の結合
let userName = "田中";
let message = "さん、こんにちは!";
console.log(userName + message); // 田中さん、こんにちは!

// 文字列として数字を扱うとどうなる?
let num1 = "10";
let num2 = "20";
console.log(num1 + num2); // 1020(計算ではなく文字がつながる)

プログラムの実行結果


1100
田中さん、こんにちは!
1020
ポイント: JavaScriptでは、変数を宣言したときに型を自動で判断してくれます(動的型付け)。しかし、意図しない型として扱ってしまうと「10+20が1020になる」といった不具合の原因になるため、今のうちに「型」の概念を意識しておきましょう。

3. typeof演算子で型を確認してみよう

3. typeof演算子で型を確認してみよう
3. typeof演算子で型を確認してみよう

JavaScriptでは、typeofという演算子を使って変数の型を調べることができます。


let name = "太郎";
console.log(typeof name); // "string"

let age = 30;
console.log(typeof age); // "number"

let isStudent = true;
console.log(typeof isStudent); // "boolean"

string
number
boolean

4. 特殊な注意点:nullの型は「object」になる

4. 特殊な注意点:nullの型は「object」になる
4. 特殊な注意点:nullの型は「object」になる

JavaScriptでは、nullの型をtypeofで調べると「object」と表示されます。これはJavaScriptの仕様であり、バグではありません。


let nothing = null;
console.log(typeof nothing); // "object"

object

この点は初心者が混乱しやすいポイントなので、覚えておきましょう。

まとめ

まとめ
まとめ

ここまでJavaScriptにおける主要なデータ型について詳しく解説してきました。プログラミングの基礎とも言える「型」の理解は、単に知識として覚えるだけでなく、実際の開発において予期せぬエラーを防ぐために非常に重要です。JavaScriptは動的型付け言語であり、変数の型が実行時に決まるという柔軟性を持っていますが、その分、数値と文字列を混ぜて計算してしまったり、nullundefinedの扱いでミスをしたりすることが多々あります。

データ型を使いこなすためのポイント

日常的なコーディングで最も頻繁に利用するのは、Number型(数値)、String型(文字列)、そして条件分岐の要となるBoolean型(真偽値)の3つです。しかし、中規模以上のアプリケーションを開発するようになると、情報の欠如を示すnullundefinedの使い分け、あるいはビット精度の高い計算が必要な際のBigInt型、オブジェクトのプロパティ競合を避けるためのSymbol型といった、より高度なデータ型の知識が求められるようになります。

プリミティブ型とオブジェクト型の違い

今回紹介した7つの型は「プリミティブ型」と呼ばれ、これら以外に「オブジェクト型(参照型)」が存在します。配列(Array)や関数(Function)も実はオブジェクトの一種です。プリミティブ型は値そのものを保持しますが、オブジェクト型はメモリ上の参照(住所のようなもの)を保持するという根本的な違いがあります。この違いを意識できるようになると、JavaScriptの挙動をより深く理解できるようになります。

実践的な型判定のコード例

開発現場では、APIから取得したデータが期待通りの型であるかをチェックする「バリデーション」が欠かせません。以下に、複数のデータ型を判定し、それぞれの型に応じた処理を行う関数のサンプルコードを掲載します。


/**
 * 与えられた値の型を判定し、適切なメッセージを返す関数
 * @param {any} value - 判定する値
 */
function checkValueType(value) {
  const type = typeof value;

  if (value === null) {
    console.log("この値は null です(typeofの結果は object ですが意図的な空です)");
    return;
  }

  switch (type) {
    case "string":
      console.log("これは文字列型です。長さは " + value.length + " です。");
      break;
    case "number":
      console.log("これは数値型です。2倍にすると " + (value * 2) + " になります。");
      break;
    case "boolean":
      console.log("これは真偽値型です。現在の値は " + value + " です。");
      break;
    case "undefined":
      console.log("値が定義されていません。");
      break;
    case "bigint":
      console.log("これはBigInt型です。非常に大きな整数を扱っています。");
      break;
    case "symbol":
      console.log("これはSymbol型です。一意な識別子として機能します。");
      break;
    default:
      console.log("その他の型(objectなど)です。型名: " + type);
  }
}

// テスト実行
checkValueType("JavaScript学習中");
checkValueType(2026);
checkValueType(true);
checkValueType(null);
checkValueType(undefined);
checkValueType(100n);

上記のコードを実行した結果は、コンソールに以下のように出力されます。


これは文字列型です。長さは 10 です。
これは数値型です。2倍にすると 4052 になります。
これは真偽値型です。現在の値は true です。
この値は null です(typeofの結果は object ですが意図的な空です)
値が定義されていません。
これはBigInt型です。非常に大きな整数を扱っています。

TypeScriptでの型定義の紹介

近年では、JavaScriptに静的な型付けを導入したTypeScriptが主流となっています。TypeScriptを使うことで、開発中(コンパイル時)に型の不整合を見つけることができ、バグの混入を劇的に減らすことが可能です。基本的なデータ型の指定方法は以下の通りです。


// TypeScriptでの型アノテーションの例
let userName: string = "山田太郎";
let userAge: number = 25;
let isActive: boolean = true;
let bigNumber: bigint = 9007199254740991n;

// 関数の引数と戻り値にも型を指定できる
function greet(name: string): string {
  return "こんにちは、" + name + "さん!";
}

console.log(greet(userName));

このように型を明示することで、プログラムの意図が明確になり、他の開発者がコードを読む際の手助けにもなります。JavaScriptの基礎を固めた後は、ぜひTypeScriptにも挑戦してみてください。

さらなる学習に向けて

データ型の特性を理解したら、次は「型変換(キャスト)」についても学んでみましょう。文字列の "100" と数値の 100 を足したときに、結果が "100100" になるのか 200 になるのか、といった挙動を知ることで、より正確なロジックを組めるようになります。一歩ずつ、確実にスキルアップしていきましょう。

先生と生徒の振り返り会話

生徒

「先生、ありがとうございました!JavaScriptのデータ型って、意外と奥が深いんですね。特にnullの型がobjectになるっていうのは、知らなかったら絶対バグだと思っちゃいます(笑)」

先生

「ははは、そうですよね。それは歴史的な経緯による仕様なのですが、今でも有名な『JavaScriptの落とし穴』の一つなんです。でも、理由を知っていれば怖くありませんよ。」

生徒

「そうですね!あと、undefinednullの違いも少しずつ分かってきました。値がまだ無いのか、あえて空にしているのかっていう使い分けが大事なんですね。」

先生

「その通りです。素晴らしい洞察ですね。型を意識してコードを書くようになると、自然とエラーの少ない綺麗なプログラムが書けるようになります。次は実際にこれらの型を使って、計算や文字列の加工に挑戦してみましょうか。」

生徒

「はい!もっと複雑な処理も書けるようになりたいので、頑張ります。TypeScriptの話も少し出てきましたが、型をガッチリ決めるのも面白そうですね。」

先生

「良い意気込みですね。基本がしっかりしていれば、新しい技術の習得もスムーズですよ。もし途中で分からなくなったら、いつでも今回の表に戻って確認してくださいね。」

生徒

「ありがとうございます!まずはこの7つの型を完璧に使いこなせるように練習します!」

カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptの条件式におけるnull・undefined判定のコツ!初心者でもわかる判定方法ガイド
New2
JavaScript
JavaScriptの条件式で論理演算子(&&, ||, !)を活用する方法!初心者でもわかる使い方ガイド
New3
TypeScript
TypeScriptでエラー処理を共通関数化して効率的に開発しよう!初心者向け例外処理ガイド
New4
JavaScript
JavaScriptの条件式における比較演算子の使い方まとめ!初心者でもわかる基本ルールと活用法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで統一感のあるコードを書くための基本ルール完全ガイド初心者向けコーディング規約入門
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptのonclick・onchangeなどの基本イベントを理解しよう
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの数値フォーマット(小数点以下の桁数調整)を学ぼう
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptのnever型を使ったエラーハンドリング!例外処理を極める安全なコードの書き方