2017-11-16 17 views
0

私は誤ってparseInt()を使用したIDとしてハッシュを持っています。parseInt()string hashは整数を返します

ではなくNaN

本当に

const hash = "7bb94588-4f62-4c41-a782-e5164844cc0d"; 
 
console.log(hash); 
 
console.log(typeof hash); 
 
console.log(parseInt(hash))

ないの実際の整数(7)の助けを必要とする質問を返し、なぜ私が疑問に思って...しかし、私は持っているしたいと思いますJSの仕組みの理解parseIntは、指定された基数での数字ではない文字を検出した場合

+3

あなたが想定される10 ' 'ので、ベース基数を渡しませんでした。最初のcharは '7'なので、' parseInt'は最大の数字(基数10)が '7'です。次の文字は 'b'です。これは基数10では意味をなさないので、ここをあきらめて '7'を返します。 http://es5.github.io/#x15.1.2.2 –

答えて

4

spec

によれば、それは、すべての後続の文字を無視し、その時点までに解析された整数値を返します。

+0

文字列が 'c'で始まっていれば、NaNを返しますか? – Christian4423

+1

正確に。基数が16の場合を除きます。それは解析を続けます。 –

関連する問題