참고로 데이터를 반환할 때 return 문에 꼭 변수를 사용해야 하는 건 아니고 다음처럼 표현식으로도 데이터를 반환할 수 있습니다.
10/03/add_func_return.js
function sum(num1, num2){
return num1 + num2;
}
const result = sum(10, 20);
console.log("out: " + result);
또한, return 문은 데이터를 반환하지 않으면 단순히 함수 실행을 종료하는 역할만 하게 됩니다. 다음과 같이 함수 내부에서 데이터를 반환하지 않는 return 문을 만나면 return 문 다음에 코드가 있더라도 함수 실행을 즉시 종료하고 undefined를 반환합니다.
10/03/return_exit.js
function sum(num1, num2){
if(typeof num1 !== "number" || typeof num2 !== "number"){
return; // 매개변수가 숫자가 아니면 강제 종료
}
return num1 + num2;
}
let result = sum("a", "b");
console.log("out: " + result); // out: undefined
Note 화살표 함수와 return 문
화살표 함수에서 {}를 생략하면 화살표 다음에 오는 코드는 return 문으로 처리됩니다. 예를 들어, 다음 코드는 매개변수 num1, num2의 합을 즉시 반환합니다.
10/03/return_arrow.js
const sum = (num1, num2) => num1 + num2;
const result = sum(10, 20); // 30