TIL | Function(함수) - 데이터 반환하기

정세영·2022년 7월 28일
0

Javascript

목록 보기
21/23
post-custom-banner

1. return 함수의 정의

return이라는 것은 함수를 호출했을 때, 함수가 값을 반환한다는 뜻이다.

function multiplyTen(myNumber) {
  return 10 * myNumber;
}

위의 multiplyTen 함수의 정의 -> 받은 인자에 10을 곱하여 반환한다!


2. return 함수의 호출

아래와 같이 여러번 호출할 수 있다.

multiplyTen(3);
multiplyTen(6);
multiplyTen(12);

3. return 함수의 호출 결과 확인

호출은 했지만, 어떤 값을 리턴했는지 알 길이 없다. 즉, 호출된 함수의 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));

4. 함수와 return 키워드

사실 함수는 모두 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

5. 함수 내부에서 다른 함수 호출하기

조금 더 복잡하게 함수를 사용해보자.

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 함수

  • getTotal 함수는 가격을 2개 받아서 calculateTotal 호출 반환값을 더해서 리턴하는 함수이다.

  • getTotal 이라는 이름의 함수는 가격정보 2개를 인자로 받는다.

  • 인자이름은 원하는대로

  • getTotal 함수에서 인자로 받은 가격으로 각각 calculateTotal 함수를 호출하고 그 결과값을 더해서 반환하시오.

참고사항

  • getTax 함수는 가격의 tax를 구하는 함수이다.
  • calculateTotal 함수는 상품의 가격에 tax를 더한 값을 구하는 함수이다.
  • getTotal 함수는 두 상품의 가격을 더해서 반환하는 함수이다.

정답

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
profile
룰루랄라 개발일지🎶❤️‍🔥🧑‍💻❤️‍🔥🎵
post-custom-banner

0개의 댓글