return
이라는 것은 함수를 호출했을 때, 함수가 값을 반환한다는 뜻이다.
function multiplyTen(myNumber) {
return 10 * myNumber;
}
위의 multiplyTen
함수의 정의 -> 받은 인자에 10을 곱하여 반환한다!
아래와 같이 여러번 호출할 수 있다.
multiplyTen(3);
multiplyTen(6);
multiplyTen(12);
호출은 했지만, 어떤 값을 리턴했는지 알 길이 없다. 즉, 호출된 함수의 return
값을 변수에 저장하는 수밖에 없다. 아래와 같이 함수의 반환을 변수에 저장해서 console
로 확인해볼 수 있다.
let result1 = multiplyTen(3);
let result2 = multiplyTen(6);
let result3 = multiplyTen(12);
console.log(result1); // 30
console.log(result2); // 60
console.log(result3); // 120
변수에 저장하기 귀찮다면, 결과값을 바로 console
로 확인해도 된다.
console.log(multiplyTen(0));
console.log(multiplyTen(3));
console.log(multiplyTen(2));
사실 함수는 모두 return
을 한다. return
이 없는 함수인 경우에도 return 이라는 키워드를 생략했을 뿐 함수는 리턴을 한다. return
을 생략하면 함수는 undefined
를 반환한다.
function consoleSuccess(month, name) {
console.log(month, name);
}
let result = consoleSuccess("3", "김개발");
//함수를 호출한 결과를 result에 담아서
console.log("consoleSuccess 호출 값은" + result);
// 3, 김개발
//consoleSuccess 호출 값은 undefined
조금 더 복잡하게 함수를 사용해보자.
function getTax(price) {
return price * 0.1;
}
function calculateTotal(price) {
return price + getTax(price);
}
const result = calculateTotal(3500);
console.log(result); // 3850
이렇게 함수 안에서 또 함수를 호출할 수도 있다. calculateTotal
함수 내부에서 getTax
를 또 호출했다. 함수가 실행되는 시점은 함수를 호출하는 순간이다. 위 코드에서 function으로 함수를 선언하는 부분은 "이런 함수가 있다"고 선언해준 것 뿐이다. 함수가 실행되는 시점은 바로 calculateTotal(3500)
으로 호출 했을 때이다.
getTotal 함수는 가격을 2개 받아서 calculateTotal 호출 반환값을 더해서 리턴하는 함수이다.
getTotal 이라는 이름의 함수는 가격정보 2개를 인자로 받는다.
인자이름은 원하는대로
getTotal 함수에서 인자로 받은 가격으로 각각 calculateTotal 함수를 호출하고 그 결과값을 더해서 반환하시오.
참고사항
function getTax(price) {
return price * 0.1;
}
function calculateTotal(price) {
return price + getTax(price);
}
function getTotal(price1, price2) {
return calculateTotal(price1) + calculateTotal(price2)
}
console.log(getTotal(1000, 2000))
//3300