jsだけの問題じゃないけど。
文字列と数値がある
実例を見たほうが早い。
var num01 = 11;
var num02 = 22;
alert(num01 + num02);
//33
var num01 = '11';
var num02 = '22';
alert(num01 + num02);
//1122
数値だと足し算、文字列だと連結されて出力される。
視覚的に数値でも書式が違ってたらだめですよ、という具合。
.val()とか.text()とかで引っ張ってきた数字は基本的に文字列だと思った方がいい。
やる
文字列を数値として扱うにはNumber()を使う。
var num01 = '11';
var num02 = '22';
alert(Number(num01) + Number(num02));
//33
逆に、数値を文字列にするにはString()。
var num01 = 11;
var num02 = 22;
alert(String(num01) + String(num02));
//1122
これはどっちだろうみたいなことで悩むくらいなら、チェックをすっ飛ばして、用途に合わせて囲ってしまったほうが良いんでないのって思ったり。
取得した日時情報を整形することもあるわけで、書式の変更作業自体はそんなに珍しいことじゃない。なので、いろんなアプローチを知っておくと得だねって気持ち。
コメント