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

よく、関数のパラメタが省略された場合にデフォルト値を代入するというコードを書く。

contextが渡されたらそれを使う。もし省略されたらdocumentを使う。

というのを素直に書くと以下のようになる。

 context = context == null ? document : context;

nullはfalseと同じように扱われると知った後はこんな感じで書いてた。

 context = context ? document : context;

これでもcontextが何回も出てきてあんまりかっこよくない。os0xさんの$XA()でかっこよい書き方してた。こんな感じ。

 context || (context = document);

こっちがシンプルでいい。