お知らせ
2020年9月8日
parseInt()の落とし穴。。。
今回はparseInt()を使用する際の注意点を記載します。
parseInt()とは、javaScriptのグローバル関数の一つで、文字列→整数値の変換をする際に使用します。
書き方としては、以下のように書きます。
/*-------------------------------------------------- parseInt(文字列,基数); 文字列:文字列型の数字 基数:2~36までの数値 ---------------------------------------------------*/ var num = paeseInt("100",10); // num = 100
そして、今回取り上げたいのは「基数」です!
基数とは、何進数として変換するのかを指定します。(2進数? 8進数? 10進数?)
しかし、この基数は省略することが可能で、省略すると文字列を見て自動で以下のように解釈されてしまいます!!(これが落とし穴。。)
何も考えず基数を省略してプログラミングすると、値によってはエラーとなってしまいます。
例えば、”08″を変換しようとした場合、8進数で解釈されてしまうと
“08”は存在しない値なので、変換不能となりNaNが返却されてしまいます。
日付データを計算したいなどの場合は月や日にちが”0″で始まる場合があるので、要注意ですね。
結論、基数は必ず書きましょう!!(そこそこjavaScriptに触れている人にとっては当然でしょうか。。。|д゚)チラッ )