kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

JavaScriptでデフォルトの引数を実現させる

毎回調べているので自分用メモ

var foo = function(bar){
    if(bar === undefined){
        bar = {};
    }
    //your code ...
};

undefinedが上書きされる可能性もありますが、
基本的にそんな状態にはならないはずなのでtypeofによる型判定まではしていません。
チーム全体で使うライブラリとして作っておくならtypeofまでやってもいいかも。

また、AngularJS使っているならangular.isUndefinedがあるので、それを使います。

var foo = function(bar){
    if(angular.isUndefined(bar)){
        bar = {};
    }
    //your code ...
};