イディオム

(擬似)スタティック変数を持つ関数を定義する

Cとか(たぶんVBでもあったはず...)で、よく関数にスタティック変数を持たせて、その関数が呼び出される毎に値をカウントさせたり、処理結果をキャッシュさせたりということをやる。同じことを Javascript でやりたい場合、以下のようなイディオムが使える…

関数のパラメタが省略された場合にデフォルト値を代入する

よく、関数のパラメタが省略された場合にデフォルト値を代入するというコードを書く。 contextが渡されたらそれを使う。もし省略されたらdocumentを使う。 というのを素直に書くと以下のようになる。 context = context == null ? document : context; null…