ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で `parseInt()` と `Number()` を使用する必要があるのはどのような場合ですか?

JavaScript で `parseInt()` と `Number()` を使用する必要があるのはどのような場合ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-12 18:29:02648ブラウズ

When Should You Use `parseInt()` vs. `Number()` in JavaScript?

parseInt() と Number() の区別: セマンティックの違いを明らかにする

JavaScript では、parseInt() と Number() が重要な役割を果たします文字列を数値に変換する場合。共通の目的にもかかわらず、これらは慎重な検討を必要とする異なる動作を示します。

型変換と解析: 解明されたセマンティクス

基本的に、Number() はコンストラクターとして機能します。型変換を実行し、指定された文字列を数値にキャストします。一方、parseInt() は解析を実行し、文字列から数値コンテンツを熱心に抽出します。

さまざまなコンテキストでの数値抽出

これらのセマンティクスの違いは、具体的な結果に現れます。 。次の例を確認してください。

  • 解析:

    • parseInt("20px") // 20
    • parseInt("10100", 2) ) // 20 (バイナリ変換)
    • parseInt("2e1") // 2
  • 型変換:

    • Number("20px") // NaN (無効な数値)
    • Number("2e1") // 20 (指数表記)

末尾の文字と数値の検出

parseInt() には追加のニュアンスがあります。指定された基数の数字を構成しない末尾の文字は無視されます。

8 進数と 16 進数: ナビゲーションNumber Bases

Number() とは異なり、parseInt() は本質的に暗黙的な 8 進表記を検出できます。さらに、両方の関数は 16 進表記をシームレスに処理します。

  • Number("0o10") // 8 (明示的な 8 進数)
  • parseInt("010") // 8 (暗黙的な 8 進数)
  • Number("0xF") // 15
  • parseInt("0xF") // 15

変換アプローチの統合: 単項プラス演算子

単項プラス演算子 ( ) は、数値型変換の汎用性の高い代替手段を提供し、Number():

  • "2e1" // 20
  • "0xF" // 15
  • "010" // 10

以上がJavaScript で `parseInt()` と `Number()` を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。