JavaScriptでデフォルト引数を使う
最近、JavaScriptを使うことになったので勉強中。
デフォルト引数が使いたいなと思いググったところ、下のコードが沢山ヒットする。
def test(a) { a = a || デフォルト値 ... }
え、これってデフォルト引数が0やFalseの場合ダメだよね・・・?
正しくはこうだと思うんだが・・・
def test(a) { if(a === undefined) a = デフォルト値; ... }
「a == undefined」ではなく「a === undefined」なので注意。
JavaScriptに詳しい方で、修正がありましたらご指摘ください。
[追記]
コメントから指摘がありました。
上記の方法だとundefinedが上書きされている可能性があるので、厳密に求めたい場合は以下の方法が良さそうです。
def test(a) { if(typeof a === 'undefined') a = デフォルト値; ... }
上記の方法からタイプ量もそんなに増えない為、かなり良い方法だと思います。
edvakfさん、ありがとうございました。