JS

初級

読み方:かた|英語:Type

データの種類で、文字列(string)・数値(number)・真偽値(boolean)などがあるよ。

やさしい説明

型(かた)とは、データの種類のことです。JavaScriptでは値ごとに型が決まっています。

文字列(string)、数値(number)、真偽値(boolean)、配列(Array)、オブジェクト(object)、null、undefined が主な型です。

typeof 演算子で型を確認できます。型を意識すると「文字列と数値を足してしまう」ようなバグを防げます。

具体例・使い方

typeof "hello"    // "string"(文字列)
typeof 42         // "number"(数値)
typeof true       // "boolean"(真偽値)
typeof undefined  // "undefined"
typeof null       // "object"(※歴史的バグ)
typeof [1, 2]     // "object"(配列もobject)
typeof {}         // "object"
typeof function(){} // "function"

// 型の違いで結果が変わる例
"5" + 3   // "53"(文字列の結合!)
5 + 3     // 8(数値の足し算)

型変換(キャスト)

// 文字列 → 数値
Number("42")    // 42
parseInt("42px") // 42(先頭の数値だけ取る)
+"42"           // 42(+演算子で変換)

// 数値 → 文字列
String(42)      // "42"
(42).toString() // "42"

// 真偽値への変換(falsyな値)
Boolean(0)         // false
Boolean("")        // false
Boolean(null)      // false
Boolean(undefined) // false
Boolean(NaN)       // false
// 上記以外はすべて true

フォームの input.value は常に文字列(string)です。数値として計算したい場合は Number()parseInt() で変換してから使いましょう。

いつ使う?

  • フォームの入力値(文字列)を数値に変換するとき
  • APIのレスポンスの型を確認するとき
  • 条件分岐でデータの種類をチェックするとき
  • TypeScriptで型を明示的に指定するとき

間違いやすいポイント

❌ 文字列の "5" と数値の 5 を混同する

フォームの value や URL のパラメータは文字列です。数値計算に使う前に必ず Number() で変換しましょう。

// ❌ フォームの値は文字列!
const input = "5"; // input.value はいつも string
input + 3;         // "53"(文字列結合になる)

// ✅ Number()で数値に変換してから計算
Number(input) + 3; // 8

❌ typeof null が "object" になる

これはJavaScriptの歴史的バグです。null かどうか確認するには typeof ではなく === null で比較しましょう。

よくある疑問

Q: JavaScriptは型を宣言しなくていい?

A: はい。JavaScriptは「動的型付け」なので、変数の型を明示する必要はありません。TypeScriptを使うと型を明示でき、バグを防げます。

Q: 型を確認するには?

A: typeof 変数名 で確認できます。typeof 'hello' は 'string'、typeof 42 は 'number' を返します。

Q: 型変換の方法は?

A: Number('123')で数値に、String(123)で文字列に、Boolean(1)で真偽値に変換できます。parseInt()やparseFloat()もよく使います。

関連用語

  • 変数 — 型を持つ値を格納する入れ物
  • 配列 — typeof では "object" と返るが、Array.isArray() で判定できる
  • オブジェクト — JavaScriptの参照型の代表。null・配列も typeof では "object"

📖 関連レッスン

レッスンを見る →

関連ブログ記事

⚠️ 関連するエラー

❓ 関連するQ&A