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