JavaScriptにおける parseInt() と Number() の違い

JavaScript で文字列を数値に変換する場合、主に parseInt() 関数と Number() コンストラクタの2つの方法があります。 それぞれの使い方や特徴、そして使い分けについて詳しく解説します。

parseInt() 関数

  • 文字列の先頭から 連続する数値部分のみ を解析し、整数として返します。
  • 解析対象となる数値部分の後に続く文字列は無視されます。
  • 基数 (10進数、8進数、2進数など) をオプションで指定できます。
  • 文字列の先頭に数値以外の文字列が含まれている場合、解析はそこで打ち切られ、NaN (Not a Number) を返します。
parseInt('123abc'); // 123 を返します
parseInt('0xFF', 16); // 255 を返します
parseInt('Hello, world!'); // NaN を返します

Number() コンストラクタ

  • 引数として渡された 文字列全体 を数値に変換し、数値として返します。
  • 文字列全体が数値に変換できない場合は、NaN を返します。
  • 小数点を含む数値も変換できます。
  • 基数は自動的に判定されます。
Number('123abc'); // 123 を返します
Number('0xFF'); // 255 を返します
Number('Hello, world!'); // NaN を返します
Number('12.34'); // 12.34 を返します

使い分け

  • 数値部分のみを解析し、整数を取得したい場合は parseInt() 関数を使用します。
  • 文字列全体を数値に変換したい場合は、Number() コンストラクタを使用します。
  • 基数を指定して解析したい場合は、parseInt() 関数を使用します。
  • 小数点を含む数値を解析したい場合は、Number() コンストラクタを使用します。

未経験でも気軽に!サブスク型プログラミングスクール【Freeks

コメントを残す