JavaScriptでNaNを0に変換する 質問する

JavaScriptでNaNを0に変換する 質問する

if文を使わずに NaN 値を 0 に変換する方法はありますか? 例:

if (isNaN(a)) a = 0;

毎回変数をチェックするのは非常に面倒です。

ベストアンサー1

あなたはこれを行うことができます:

a = a || 0

...これは、 を任意の「偽」値から に変換します0

「falsey」値は次のとおりです。

  • false
  • null
  • undefined
  • 0
  • "" ( 空の文字列 )
  • NaN ( 数字ではありません )

または、こちらもどうぞ:

a = a ? a : 0;

...上記と同じ効果が得られます。


以外のものをテストすることが目的である場合はNaN、同じことを行うことができますが、最初にtoNumber変換を実行します。

a = +a || 0

これは、単項 + 演算子を使用して数値に変換しようとします。これには、数値文字列などを数値にa変換するという追加の利点があります。'123'

唯一予期しないことは、数値に正常に変換できる配列が渡された場合です。

+['123']  // 123

ここでは、数値文字列である単一のメンバーを持つ配列があります。これは数値に正常に変換されます。

おすすめ記事