JavaScriptにおける型についての解説

JavaScriptにおける型についての解説

JavaScriptにおける型の概要

JavaScriptは動的型付け言語であり、変数の型を宣言せずに使用できます。そのため、同じ変数が異なる型の値を持つことができます。 しかし、JavaScriptには明確に定義されたデータ型が存在し、それぞれの型に応じた特性や動作があります。

プリミティブ型

オブジェクト型

型変換

typeof演算子

結論

プリミティブ型

JavaScriptには以下の7つのプリミティブ型が存在します:

  • Number: 数値を表します。整数や浮動小数点数の区別はありません。
  • BigInt: 非常に大きな整数を扱うための型です。
  • String: テキストデータを表します。
  • Boolean: 真偽値 (true または false) を表します。
  • Undefined: 未定義の値を表します。
  • Null: 意図的に「値がない」ことを示します。
  • Symbol: 一意の識別子を生成するための型です。

Number型の例

let x = 42; // 整数
let y = 3.14; // 浮動小数点数
let z = NaN; // 数値ではない (Not a Number)

BigInt型の例

let bigNumber = 1234567890123456789012345678901234567890n; // nを付ける

String型の例

let greeting = "こんにちは"; // ダブルクォート
let name = 'Hayato'; // シングルクォート
let template = `こんにちは、${name}さん`; // テンプレートリテラル

Boolean型の例

let isJavaScriptFun = true;
let isCold = false;

Undefined型とNull型の例

let undefinedValue; // 宣言はしたが初期化していない
let nullValue = null; // 値が存在しないことを意図的に示す

Symbol型の例

let uniqueId = Symbol("id");
let anotherId = Symbol("id");
console.log(uniqueId === anotherId); // false (一意であるため)

オブジェクト型

プリミティブ型以外のデータ型はすべてオブジェクト型に分類されます。オブジェクト型は複雑なデータ構造を表現するために使用されます。

  • Object: キーと値のペアを持つ一般的なデータ構造です。
  • Array: 順序付きのデータのコレクションです。
  • Function: 実行可能なコードブロックを表します。
  • Date: 日付と時刻を表します。
  • RegExp: 正規表現パターンを表します。

Objectの例

let person = {
    name: "Hayato",
    age: 30,
    greet: function() {
        console.log("こんにちは!");
    }
};
person.greet();

Arrayの例

let fruits = ["りんご", "バナナ", "ぶどう"];
console.log(fruits[0]); // "りんご"

Functionの例

function add(a, b) {
    return a + b;
}
console.log(add(2, 3)); // 5

Dateの例

let now = new Date();
console.log(now.toISOString());

RegExpの例

let pattern = /[a-z]+/g;
let result = "abc123".match(pattern);
console.log(result); // ["abc"]

型変換

JavaScriptでは、型が自動的に変換される場合があります (暗黙的型変換)。また、明示的に型を変換することも可能です。

暗黙的型変換の例

console.log("5" + 5); // "55" (文字列に変換)
console.log("5" - 3); // 2 (数値に変換)

明示的型変換の例

let num = Number("42");
let str = String(42);
console.log(num, typeof num); // 42 "number"
console.log(str, typeof str); // "42" "string"

typeof演算子

typeof 演算子は、変数の型を判定するために使用されます。

console.log(typeof 42); // "number"
console.log(typeof "こんにちは"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (これは言語仕様による挙動です)
console.log(typeof Symbol("id")); // "symbol"
console.log(typeof {}); // "object"

結論

JavaScriptの型システムはシンプルでありながら柔軟性があります。型に対する理解を深めることで、コードのバグを減らし、より堅牢なプログラムを作成することができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です