-
isNaN()関数を使用する方法: isNaN()関数は、与えられた値がNaNかどうかを判定するために使用されます。以下は使用例です。
const value = parseFloat(inputValue); // NaNが含まれる可能性のある値 if (isNaN(value)) { // NaNの場合の処理 // 例: 別のデフォルト値を設定する、エラーメッセージを表示するなど } else { // NaNでない場合の処理 }
上記のコードでは、
inputValue
がNaNが含まれる可能性のある値であると仮定しています。parseFloat()
関数を使用して文字列を数値に変換し、その結果をisNaN()
関数でチェックしています。 -
isNaN()関数をカスタマイズする方法: isNaN()関数は、数値以外の値(文字列など)を渡された場合にもtrueを返すため、カスタマイズする必要がある場合があります。以下は、カスタムのisNaN()関数の例です。
function customIsNaN(value: any): boolean { return typeof value === 'number' && isNaN(value); } const value = parseFloat(inputValue); // NaNが含まれる可能性のある値 if (customIsNaN(value)) { // NaNの場合の処理 } else { // NaNでない場合の処理 }
上記の例では、
customIsNaN()
関数を定義して、渡された値が数値であるかどうかを追加のチェックとして行っています。 -
TypeScriptの非nullアサーション演算子(!)を使用する方法: TypeScriptでは、非nullアサーション演算子(!)を使用して、変数がnullまたはundefinedでないことを明示的に宣言することができます。以下は使用例です。
const value: number = parseFloat(inputValue)!; // NaNが含まれる可能性のある値 // NaNでない場合の処理
上記の例では、
parseFloat()
関数の結果を非nullアサーション演算子(!)で型アサーションしています。これにより、変数value
がNaNではないことが保証されます。
これらの方法を使用して、TypeScriptでNaN値をクリーンに処理することができます。具体的なシナリオに応じて、適切な方法を選択してください。