JavaScript高速化 関数呼び出し地獄編に続いて、今回は型判定編。
今回もWeb+DB Press Vol.58の「JavaScriptの玉手箱」を参考にしてます。
■型判定高速化
★できるだけ===(トリプルイコール)を使う
==(ダブルイコール)だと型が一致しない場合に型変換して比較するので、遅くなる。
・==の場合、null, undefinedを判別する場合は便利
==だとnull, undefinedを同時に判別してくれる
valがundefinedの場合
val == null
で比較してもtrueが返ってくる
□undefinedの判別
変数がundefinedかどうかを判定する方法は4つ
1.ダミー変数と比較
2.typeofで文字列と比較
3.window.undefinedと比較
4.void演算子でundefinedを生成して比較
この中で処理が早くて著者もオススメしてるのが4番のvoid演算子でundefinedを生成して比較
if(val === void 0){}
※void演算子はその場でundefinedを作ってくれる
1番はChrome以外でほぼ最速。でもChromeだと遅い(といってもIE8の半分以下の時間しかかからないみたい)。
2番はChrome以外で遅い。特にOpera、FireFoxで遅い
3番はFireFox以外で遅め。
0 件のコメント:
コメントを投稿