もっと良い方法がありそうだけど、思いつきメモ。
JavaScriptの数値を、
条件式で扱う場合と、暗黙の型変換されると困る場合に
うまくできないかなと。
Snipplr$n
Posted by inamorix on December 6th, 2007
- function $n (n) {
- return (typeof(n) == 'number') ? new Number(n) : NaN;
- }
条件式
条件式の中で「0」はfalse扱いなので、
alert(0 ? true : false);
は、falseが返る。
alert($n(0) ? true : false);
は、trueが返る。
型変換
文字列の数値は型変換されるけど、
alert($n('5') ? true : false);
は、falseが返る。
alert($n(5) * 100);
は、500が返る。
alert($n('5') * 100);
は、NaNが返る。
alert([] * 100);
は、0が返る。
自覚が無いとはまりそうなので、
alert($n([]) * 100);
は、NaNが返る。