Rubyのメソッド引数は奥が深い(その2)または別のフィボナッチ
ES6にはデフォルト引数があるのでJavaScriptでも書けそう。
Firefoxでは動いた。
function fib(n, m = (n === 0 || n === 1 ? n : fib(n-2) + fib(n-1))){ return m } undefined fib(1) 1 fib(2) 1 fib(3) 2 fib(4) 3 fib(5) 5 fib(6) 8 fib(7) 13 fib(8) 21 fib(9) 34 fib(10) 55
chromeはまだダメでした。
function fib(n, m = (n === 0 || n === 1 ? n : fib(n-2) + fib(n-1))){ return m } SyntaxError: Unexpected token =