javascriptの論理演算子が値そのものを返す特性を使います。
function hoge(v) {
v = v || 'default value';
// ...
}
引数vに値が入っている場合はそのまま。
値が無い場合は'default value'がセットされます。
if文や三項演算子を使うより
スッキリ見やすく書けます。
いくつかコメントをうけての追記です。
||を使った方法はあくまでテクニックなので万能ではないです。
いただいたコメントをまとめると
このテクニックを使う条件はこんな感じ。
- 決まった型の引数を取り、それを初期化する
- 複数の引数をとる
例
function hoge(v, w) {// v: string, w: number
v = v || '';
w = w || 0;
// ...
}
上記の例で引数の方が何でもアリの場合
型が変わってしまうからダメ
例
hoge(0, false); // v = '', w = 0
引数が1つの場合、argumentsで判定した方が良い
function hoge(v) {
if (arguments.length < 1) v = '';
// ...
}