javascript 変数に入れた2桁の数字が1桁に

javascript で数字と文字列の扱いでハマったのでメモ。
解決方法は不明で回避方法のみ。

n = hoge [ ‘ i ‘ ] | “00”;
aleart( n );

上記の i には2桁の数字が入ります。
hoge [ ‘ i ‘ ] の値が undefined のときは” 00 “とする。
これを実行するとnの値が00〜09の場合、アラートで表示される数字が0〜9と、一桁になってしまう。
だけど、

n = hoge [ ‘ i ‘ ];
aleart( n );

で実行するとアラートにはちゃんと00〜09で表示されます。

ナゼなのか理由は不明。誰か教えて。

回避方法として

n = hoge [ ‘ i ‘ ];
if ( n == undfined ){
n = “00”;
}
aleart( n );

としました。このif文を省略したかったんだけどなぁ。

コーディングに関する記事

コメント