JS言語にはどんな種類がありますか?

JavaScriptのデータ型

JavaScriptは、動的型付けを持つプログラミング言語であり、変数を宣言する際にデータ型を明示的に指定する必要がありません。JavaScriptエンジンが実行時に自動的にデータ型を判別します。本記事では、JavaScriptにおける主要なデータ型について解説し、具体的なコード例を交えて説明します。

1. プリミティブ型

プリミティブ型は、単一の値を表すデータ型です。以下の表に代表的なプリミティブ型を示します。

データ型 説明
Number 数値を表す 10, 3.14, -2.7
String 文字列を表す "Hello", 'World'
Boolean 真偽値を表す true, false
Null 何も値が入っていないことを表す null
Undefined 変数に値が代入されていないことを表す undefined
Symbol (ES6) ユニークな値を表す Symbol('id')

プリミティブ型の変数の宣言例


<script>
  let num = 10; // Number型
  let str = "Hello"; // String型
  let bool = true; // Boolean型
  let empty = null; // Null型
  let notDefined; // Undefined型
</script>
    

2. オブジェクト型

オブジェクト型は、複数の値をまとめて扱うデータ型です。オブジェクトは、キーと値のペアで構成されます。キーは文字列で、値は任意のデータ型です。


<script>
  let person = {
    name: "田中",
    age: 30,
    hobbies: ["読書", "映画鑑賞"]
  };
</script>
    

JavaScriptには、配列、関数、日付など、さまざまな組み込みオブジェクトが用意されています。これらのオブジェクトは、便利なメソッドやプロパティを提供し、データの操作や管理を容易にします。

JavaScriptデータ型の確認方法

変数のデータ型を確認するためには、typeof演算子を使用します。以下のコードは、異なるデータ型の変数を確認する例です。


<script>
  console.log(typeof 10); // "number"
  console.log(typeof "Hello"); // "string"
  console.log(typeof true); // "boolean"
  console.log(typeof null); // "object" (注意: これはJavaScriptの仕様上のエラーです)
  console.log(typeof undefined); // "undefined"
  console.log(typeof {}); // "object"
  console.log(typeof []); // "object"
  console.log(typeof function(){}); // "function"
</script>
    

参考文献

Q&A

Q1: `null` と `undefined` の違いは何ですか?

A1: `null` は「意図的に値が空である」ことを表し、変数に明示的にnullを代入することで、値がないことを示します。一方、undefined は「変数に値が代入されていない」状態を表し、変数が宣言されたが初期化されていない場合に自動的に設定されます。

Q2: JavaScriptではなぜ動的な型付けが採用されているのですか?

A2: 動的な型付けは、コードの記述を簡潔にし、柔軟性を高めるために採用されています。型を明示的に指定する必要がないため、開発者は変数にさまざまな型のデータを柔軟に扱うことができ、より効率的にコードを記述することができます。

Q3: `typeof` 演算子で `null` が "object" と表示されるのはなぜですか?

A3: これはJavaScriptの初期設計上のエラーであり、null のデータ型が本来のプリミティブ型ではなく、オブジェクト型として扱われているためです。この仕様は現在でも修正されておらず、null は実際にはオブジェクト型ではなく、プリミティブ型の一つです。

その他の参考記事:JavaScript の種類