5.20 return

5.20 return

return 표현식은 값 표현식을 동반할 수도 있고 동반하지 않을 수도 있어요:

return;
return expression;

선언된 가장 안쪽 함수의 제어 흐름을 떠나며, 지역 함수(local functions)가 관련될 때 구분해야 합니다:

function f1() {
  function f2() {
    return;
  }
  f2();
  expression;
}

return은 지역 함수 f2를 떠나며 f1을 떠나지 않으므로 expression은 여전히 평가됩니다.

return이 값 표현식 없이 사용되면, 타이퍼는 그것이 반환하는 함수의 반환 타입이 Void인지 확인합니다. 값 표현식이 있으면, 타이퍼는 그 타입을 (명시적으로 주어지거나 이전 return 표현식으로 추론된) 함수의 반환 타입과 유니파이(unifies)합니다.

출처: return

본문

return; 또는 return expression; 형태로, 가장 안쪽 함수의 제어 흐름을 떠나요. 지역 함수 안의 return은 그 지역 함수만 떠납니다. 값 없는 return은 Void 반환 함수에만 허용되고, 값이 있으면 반환 타입과 유니파이됩니다.

더 알아보기