JavaScript
함수에 입력을 주고 결과 받기
함수는 반복해서 사용할 작업을 이름으로 묶습니다.
이럴 때 필요해요
가격 계산을 여러 곳에서 같은 규칙으로 수행합니다.
어떻게 동작하나요?
함수는 입력을 받아 작업을 수행하도록 묶은 코드입니다. function total(price, count)의 price와 count는 함수를 부를 때 받을 값의 이름입니다.
total(5000, 2)처럼 괄호 안에 값을 넣어 호출합니다. return은 계산한 값을 호출한 곳으로 돌려줍니다. 콘솔에 출력하는 것과 결과를 반환하는 것은 다릅니다.
아래 함수는 호출할 때마다 받은 가격과 수량으로 계산합니다. 먼저 입력과 반환값이 있는 작은 함수를 만든 뒤 함수 전달과 클로저를 배우면 연결하기 쉽습니다.
코드 예제
동작을 설명하는 읽기 전용 예제입니다.
function total(price, count) {
return price * count;
}
const amount = total(5000, 2);
console.log(amount); // 10000total은 계산 결과를 반환하고 console.log가 그 결과를 출력합니다.
자주 헷갈리는 포인트
- 함수 이름만 적는 것과 괄호로 호출하는 것은 다릅니다.
- console.log로 출력했다고 호출자가 그 값을 반환받는 것은 아닙니다.
내 말로 설명해 보기
함수 안에서 return을 없애고 출력만 하면 amount에 계산 결과가 들어갈까요?
생각할 단서 콘솔에 출력하는 일과 호출자에게 값을 돌려주는 일을 나누어 생각하세요.
예시 답변 확인
설명에 들어갈 핵심
- 함수는 반복해서 사용할 작업을 이름으로 묶습니다.
- total은 계산 결과를 반환하고 console.log가 그 결과를 출력합니다.
예시 답변
일반 함수가 return 없이 끝나면 반환값은 undefined입니다. 계산 결과를 호출자가 쓰려면 return으로 돌려줘야 합니다.
문장을 그대로 외우기보다 예제의 값과 실행 흐름을 떠올리며 설명해 보세요.