2009年2月12日 木曜日 23:20:34

javascriptでの値の比較結果を表にまとめてみた

メモ,javascript,WEB開発 [ by Mizugame ]

Javascript-比較結果
この間のNaNの判定で、ちょっとJavascriptの値の比較を整理しときたいと思ったので表にまとめた。

NaNってホント独特なんだなぁ・・・( ̄□ ̄;)

比較

簡単な比較。
PHPでいう「2a問題」はないけど、型を意識しない比較。

falseとかは結構広範囲に対応できてしまう。

ちなみにNaNはすべてにおいてfalse。
自分自身でさえも・・・(>_<)

比較(==) true false null undefined NaN “” 0 “0″ “0a”
true true false false false false false false false false
false false true false false false true true true false
null false false true true false false false false false
undefined false false true true false false false false false
NaN false false false false false false false false false
“” false true false false false true true false false
0 false true false false false true true true false
0 false true false false false false true true false
“0a” false false false false false false false false true

型比較

より厳密な比較(*°∀°)=3
簡単の比較のようにfalseは柔軟でなくなる。

相変わらずNaNはすべてに対して偽。

型比較(===) true false null undefined NaN “” 0 “0″ “0a”
true true false false false false false false false false
false false true false false false false false false false
null false false true false false false false false false
undefined false false false true false false false false false
NaN false false false false false false false false false
“” false false false false false true false false false
0 false false false false false false true false false
0 false false false false false false false true false
“0a” false false false false false false false false true

正確な各比較結果を確認できるように、実際にJavascriptを走らせる比較表を置いときます。

おまけに数値のオーバーフローをちょこっと

phpの時もそうだけど、やっぱり数値のオーバーフローは発生する。

「11111111111111111」を境に結果がおかしくなったりし始める。
とにかく当てにならない(>_<);;;

ついでに、parseIntによる変換。

いろいろ抑えとかないと(´・ω・`)

関連情報:
javascriptでNaNを判定してみる
JavascriptでindexOfとmatchの速度がちょっと気になった
[MDIEスクリプト] select2zip.jsを更新

コメント (0) »