0

isNaN テストを行う別の方法を探しています

私の元のコードは次のようになりました。コードは機能しますが、num1 が型を変更することに気付きました。これは醜いです

// example 1: num1 changes type

num1 = parseInt(str1, 10);
if isNaN(num1){num1=-1;}

これに変更しましたが、これは重複したコードを使用しています

// example 2: duplicate code

if (isNaN(parseInt(str1,10))){num1=-1;}
else {num1=parseInt(str1,10);}

最初は、parseInt(str1,10) を格納する変数を追加することを考えていましたが、その変数も型が変わるため、実際には例 1 と同じです。

例 1 または 2 に代わるものはありますか?


変更タイプによって、私はこれを意味します

console.log(typeof(isNaN("123"))); // boolean 
console.log(typeof(isNaN("abc"))); // boolean 

console.log(typeof(parseInt("123", 10))); // number 
console.log(typeof(parseInt("abc", 10))); // number 

.

console.log(typeof(Number("123"))); // number
console.log(typeof(Number("abc"))); // number

console.log(Number("123")); // 123
console.log(Number("abc")); // NaN
4

1 に答える 1