1

John Resig のSecrets of the JavaScript Ninja を読んでいますが、この再帰関数で三項演算子がどのように機能するかを理解するのに苦労しています。

var  ninja = {
  chirp: function signal(n) {
    return n > 1 ? signal(n - 1) + '-chirp' : 'chirp';
  }
};

+オペレーターはここでどのように働いていますか? 返された文字列を連結していることは理解していますが、signal(n - 1)それを妨げていないのはなぜですか? 一見すると、関数呼び出しに文字列を追加しているように見えます。

4

2 に答える 2