함수의 최종 결과물을 전달하는 **return(반환)**에 대해 알아보겠습니다.
함수가 특정 작업을 수행한 뒤, 그 결과를 함수 밖으로 꺼내어 다시 사용할 수 있게 해주는 아주 중요한 문법입니다.
1. return의 개념 (자판기 비유)
함수를 하나의 자판기라고 생각하면 이해하기 쉽습니다.
- 입력(Argument): 동전과 메뉴 선택 (함수로 전달하는 값)
- 함수 내부 로직: 기계 안에서 음료수를 컵에 담는 과정
- 반환(return): 배출구로 나온 음료수
자판기 안에서 아무리 맛있는 음료를 만들어도, 배출구(return)를 통해 밖으로 내보내 주지 않으면 우리는 그 음료를 마실 수 없습니다.
2. return의 두 가지 주요 역할
① 결과값 반환
함수 내부에서 계산되거나 생성된 값을 함수를 호출한 곳으로 돌려줍니다. 이 값을 변수에 담아 다른 곳에 활용할 수 있습니다.
JavaScript
function add(a, b) {
return a + b; // a와 b를 더한 값을 밖으로 던져줍니다.
}
// return된 값이 30이 되어 result 변수에 저장됩니다.
const result = add(10, 20);
console.log(result); // 30
② 함수 강제 종료
return 문을 만나는 즉시 함수는 실행을 멈추고 종료됩니다. 그 뒤에 작성된 코드는 결코 실행되지 않습니다.
JavaScript
function test() {
console.log("실행됩니다.");
return; // 여기서 함수가 끝납니다!
console.log("실행되지 않습니다."); // 무시되는 코드
}
3. return이 없는 함수는 어떨까?
만약 함수에 return 문이 없거나, return 뒤에 아무런 값도 적지 않는다면 함수는 기본적으로 **undefined**를 반환합니다.
JavaScript
function noReturn() {
const sum = 1 + 1;
// return이 없음!
}
const value = noReturn();
console.log(value); // 결과: undefined
🖥️ 실전 예제 코드: "성인 확인기"
return의 종료 기능을 활용하여 조건에 맞지 않을 때 함수를 미리 끝내는 예제입니다.
JavaScript
function checkAge(age) {
// 1. 조건에 맞지 않으면 즉시 종료 (Early Return)
if (age < 20) {
return "미성년자는 입장할 수 없습니다.";
}
// 2. 위 조건을 통과한 경우에만 실행
return "환영합니다! 입장이 가능합니다.";
}
console.log(checkAge(15)); // 미성년자는 입장할 수 없습니다.
console.log(checkAge(25)); // 환영합니다! 입장이 가능합니다.
학습 정리
- **return**은 함수의 최종 결과물을 '배출구'로 내보내는 역할을 한다.
- return된 값은 변수에 저장하여 다른 계산에 계속 사용할 수 있다.
- 함수 안에서 return을 만나면 그 즉시 함수는 종료된다.
- 반환값이 필요 없는 함수는 return을 생략해도 되지만, 이때 결과값은 언제나 **undefined**이다.
함수의 결과물을 다루는 return까지 마스터하셨습니다!

'JavaScript' 카테고리의 다른 글
| Event Handler and Event Listener (0) | 2026.02.14 |
|---|---|
| Types of Event (0) | 2026.02.14 |
| Parameter and Argument (0) | 2026.02.14 |
| Function Expression (0) | 2026.02.14 |
| Function (0) | 2026.02.14 |