型
初級読み方:かた|英語: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()もよく使います。
関連用語
📖 関連レッスン
レッスンを見る →