return文とは?意味をわかりやすく簡単に解説

text: XEXEQ編集部

関連するタグ

return文とは

return文は関数内で使用される制御文の一つであり、関数の実行を終了し、呼び出し元に値を返すための文です。関数内の処理が完了した時点で、return文を使用することで、関数の実行を終了し、指定した値を呼び出し元に返すことができます。

return文は、関数の処理結果を呼び出し元に返すために使用されます。関数内で計算や処理を行った結果を、呼び出し元で利用するために、return文を使って値を返すのです。これにより、関数を再利用可能な形で定義することができます。

return文の構文は、「return 式;」のようになります。式の部分には、返却する値を指定します。式には、変数、定数、演算式などを指定することができます。return文が実行されると、関数の実行が終了し、指定された値が呼び出し元に返されます。

ただし、return文は必ずしも必要ではありません。関数内で値を返す必要がない場合は、return文を省略することができます。その場合、関数の最後まで実行が進み、自動的に関数が終了します。

また、return文は関数内のどの位置でも使用することができます。条件分岐などを使って、特定の条件が満たされた場合にreturn文を実行し、関数を終了させることも可能です。これにより、関数内の処理を柔軟に制御することができます。

return文の役割と使い方

「return文の役割と使い方」に関して、以下3つを簡単に解説していきます。

  • return文の基本的な役割
  • return文の使用例
  • 複数のreturn文の使用

return文の基本的な役割

return文の基本的な役割は、関数の実行を終了し、呼び出し元に値を返すことです。関数内で行った処理の結果を、呼び出し元で利用するために、return文を使用して値を返します。これにより、関数を再利用可能な形で定義することができます。

例えば、2つの数値を受け取り、その和を計算する関数を考えてみましょう。この関数では、受け取った2つの数値を足し合わせ、その結果をreturn文で返します。呼び出し元では、関数から返された値を変数に代入するなどして利用することができます。


function sum(a, b) {
  return a + b;
}

let result = sum(3, 5);
console.log(result); // 8

return文の使用例

return文は、関数内のさまざまな場所で使用することができます。例えば、条件分岐を使って、特定の条件が満たされた場合にreturn文を実行し、関数を終了させることができます。これにより、関数内の処理を柔軟に制御することができます。

以下の例では、与えられた数値が正の値かどうかを判定する関数を定義しています。引数の値が正の値である場合は true を、そうでない場合は false を返します。条件分岐を使って、引数の値が0以上の場合に true を返し、それ以外の場合に false を返しています。


function isPositive(num) {
  if (num >= 0) {
    return true;
  } else {
    return false;
  }
}

console.log(isPositive(5)); // true
console.log(isPositive(-3)); // false

複数のreturn文の使用

関数内で複数のreturn文を使用することもできます。ただし、return文が実行されると、関数の実行が終了するため、最初に実行されたreturn文以降のコードは実行されません。したがって、複数のreturn文を使用する場合は、それぞれのreturn文の位置と条件を適切に設定する必要があります。

以下の例では、与えられた数値が正の値か、負の値か、ゼロかを判定する関数を定義しています。引数の値が正の値である場合は "positive" を、負の値である場合は "negative" を、ゼロの場合は "zero" を返します。複数のif文とreturn文を使用して、条件に応じて適切な値を返しています。


function checkSign(num) {
  if (num > 0) {
    return "positive";
  }
  if (num < 0) {
    return "negative";
  }
  return "zero";
}

console.log(checkSign(5)); // positive
console.log(checkSign(-3)); // negative
console.log(checkSign(0)); // zero

return文とその他の制御文との関係

「return文とその他の制御文との関係」に関して、以下3つを簡単に解説していきます。

  • return文とif文の関係
  • return文とループ文の関係
  • return文とtry-catch文の関係

return文とif文の関係

return文は、if文と組み合わせて使用されることがよくあります。if文を使って特定の条件を判定し、条件が満たされた場合にreturn文を実行して関数を終了させるという使い方です。これにより、関数内の処理を条件に応じて制御することができます。

例えば、与えられた数値が正の値かどうかを判定する関数を考えてみましょう。この関数では、if文を使って引数の値が0以上かどうかを判定し、条件が満たされた場合にreturn文を使って true を返します。条件が満たされない場合は、return文を使って false を返します。


function isPositive(num) {
  if (num >= 0) {
    return true;
  }
  return false;
}

return文とループ文の関係

return文は、ループ文(for文やwhile文など)内で使用することもできます。ループ内でreturn文が実行されると、ループの実行が中断され、関数が終了します。これにより、特定の条件が満たされた場合に関数を早期に終了させることができます。

以下の例では、与えられた配列の中から特定の値を探索する関数を定義しています。ループを使って配列の要素を順番に調べ、目的の値が見つかった時点でreturn文を使ってその値を返します。目的の値が見つからない場合は、ループが最後まで実行され、return文で undefined を返します。


function searchArray(arr, target) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === target) {
      return arr[i];
    }
  }
  return undefined;
}

let numbers = [1, 3, 5, 7, 9];
console.log(searchArray(numbers, 5)); // 5
console.log(searchArray(numbers, 4)); // undefined

return文とtry-catch文の関係

return文は、try-catch文と組み合わせて使用することもあります。try-catch文を使って、例外が発生する可能性のあるコードを囲み、例外が発生した場合の処理を定義することができます。例外が発生した場合、catch文内でreturn文を使って関数を終了させることができます。

以下の例では、与えられた数値の平方根を計算する関数を定義しています。引数の値が負の値である場合、例外をスローします。try-catch文を使って、例外が発生した場合の処理を定義し、catch文内でreturn文を使ってエラーメッセージを返しています。


function squareRoot(num) {
  try {
    if (num < 0) {
      throw new Error("Negative number is not allowed.");
    }
    return Math.sqrt(num);
  } catch (error) {
    return error.message;
  }
}

console.log(squareRoot(16)); // 4
console.log(squareRoot(-9)); // Negative number is not allowed.

return文のベストプラクティス

「return文のベストプラクティス」に関して、以下3つを簡単に解説していきます。

  • 早期のreturn
  • 単一のreturn文
  • 意味のある値の返却

早期のreturn

早期のreturnとは、関数内で条件を満たさない場合や不正な引数が渡された場合に、早い段階でreturn文を使って関数を終了させるテクニックです。これにより、不必要な処理を行わずに済み、関数の可読性や効率を高めることができます。

以下の例では、与えられた数値が正の値かどうかを判定する関数を定義しています。引数の値が0未満の場合、早期のreturnを使って false を返し、関数を終了させています。これにより、条件を満たさない場合の処理を簡潔に記述することができます。


function isPositive(num) {
  if (num < 0) {
    return false;
  }
  // 正の値に対する処理
  return true;
}

単一のreturn文

単一のreturn文とは、関数内で値を返す場所を1つに限定し、複数のreturn文を使用することを避けるテクニックです。複数のreturn文を使用すると、関数の流れが複雑になり、可読性が低下する可能性があります。単一のreturn文を使用することで、関数の構造をシンプルに保ち、可読性を高めることができます。

以下の例では、与えられた数値が正の値か、負の値か、ゼロかを判定する関数を定義しています。if-else文を使って条件分岐を行い、最後に単一のreturn文で結果を返しています。これにより、関数の流れが明確になり、可読性が向上します。


function checkSign(num) {
  let result;
  if (num > 0) {
    result = "positive";
  } else if (num < 0) {
    result = "negative";
  } else {
    result = "zero";
  }
  return result;
}

意味のある値の返却

関数からの返り値は、呼び出し元にとって意味のある値であるべきです。関数の目的に沿った適切な値を返すことで、関数の利用者が結果を適切に解釈し、活用することができます。返り値の型や意味を一貫性のあるものにすることも重要です。

例えば、真偽値を返す関数であれば、常に true または false を返すようにします。数値を返す関数であれば、適切な範囲の数値を返すようにします。エラーが発生した場合は、適切なエラー値やエラーオブジェクトを返すことで、呼び出し元でエラーハンドリングを行いやすくなります。


function divide(a, b) {
  if (b === 0) {
    return NaN; // ゼロ除算エラー
  }
  return a / b;
}

console.log(divide(10, 2)); // 5
console.log(divide(10, 0)); // NaN

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「プログラミング」に関するコラム一覧「プログラミング」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。