number 数値型

最終更新:2026-10-22

number 数値型

number は整数と小数をまとめて表します。JS にはこの 1 種類の数値型しかありません。カウント、金額、座標、タイムスタンプはすべて number で注釈します。

グループ基本型
種類型
strict モード不要

ℹ️ 説明 エディタは TypeScript を JavaScript にトランスパイルして実行します(型チェックなし)。型チェック結果は各サンプルの出力を参照してください。

📝 構文

let count: number = 42;
let price = 19.99;
let hex = 0xff; // 255

⚙️ パラメータ

0x / 0b / 0o / 1e510 進数のほか、0x の 16 進数、0b の 2 進数、0o の 8 進数、1e5 の指数表記に対応しています

戻り値:戻り値はありません。number は基本の型注釈であり、実行時コードを一切生成しません。

▶ サンプル

下のコードを編集して「試す」を押すと、トランスパイル実行結果を確認できます:

出力:

59.97
42 3.5

(トランスパイル後の実行出力。total は実際には 59.970000000000005 で、浮動小数点の乗算には精度誤差があります)

💡 ポイント

ℹ️ 説明 JS には int/float の区別がなく、number はすべて IEEE-754 倍精度浮動小数点数です。そのため 0.1 + 0.2 !== 0.3 になります。
⚠️ 注意 金額の累算に浮動小数点数を直接使わないでください。「分を単位とする整数」か decimal ライブラリに切り替え、toFixed は表示層だけに使います。
💡 ヒント parseInt/parseFloat は単位付き文字列("42px"、"3.5rem")の解析に便利です。解析に失敗すると NaN が返るので、Number.isNaN でのチェックを忘れずに。
ケースは今後追加予定です。

📚 関連チュートリアル

❓ よくある質問

Q 0.1 + 0.2 が 0.3 と等しくないのはなぜですか?
A 2 進浮動小数点では 0.1 と 0.2 を正確に表現できず、加算結果は 0.30000000000000004 になるためです。浮動小数点数の比較は誤差範囲で判断するか、整数や decimal ライブラリに切り替えてください。
Q number に上限はありますか?
A 安全な整数の範囲は ±(2^53 - 1)、つまり ±9007199254740991 です。これを超えると精度が失われるため、より大きく正確な整数が必要なときは bigint を使います。
Q NaN も number ですか?
A はい。typeof NaN === "number" です。NaN の判定に === は使えず(NaN はどの値とも等しくない)、Number.isNaN() を使ってください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%