• ベストアンサー

JavaScript returnを使った関数

function Next() { return currentNum < 4 ? currentNum + 1 : 0; }; 上記の様な関数があります。 currentNumが4より小さいときに + 1というのはわかるのですが、こういった形の関数の記述の形式がわからないので、途中の「?」と末尾の「:0;」がどのように作用しているのかわかりません。 ご存知の方、是非ご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

currentNum < 4 ? currentNum + 1 : 0; という記述は三項演算子と呼ばれるモノです。 if文の省略形のようなものと思ってください。 ?の前の式(currentNum < 4)を評価し、真なら?と:の間の値(currentNum + 1)を返し、偽なら:の後ろの値(0)を返します。 if (currentNum < 4) { return currentNum + 1; } else { return 0; } と同等の処理となります。

okuma-ya
質問者

お礼

ありがとうございます。理解しました。勉強します。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 三項演算子と呼ばれるものです。 条件 ? 処理1 : 処理2 日本語で言うと currentNumが4未満の場合はcurrentNum+1を返す。 currentNumが4以上の場合は0を返す。 if ( currentNum < 4 ) { return currentNum + 1; } else { return 0; } と同じ動きになります。

okuma-ya
質問者

お礼

ありがとうございます。理解しました。勉強します。前回もありがとうございました。