본문 바로가기

Javascript

함수 선언 / 호출 😅 어렵!

✅ 함수는 반복되는 특정 작업을 수행하는 코드의 집합!

 

const priceA = 1000
const priceB = 2000
// 두 상품가격의 합과 평균을 구해서 출력해야 하는 코드 작성
const sum1 = priceA + priceB
console.log(`두 상품의 합계는 ${sum1}입니다.`)
const avg1 = sum1 / 2
console.log(`두 상품의 평균은 ${avg1}입니다.`)

const priceC = 3000
const priceD = 4000
// 이번에도 두 상품가격의 평균을 구해서 출력해야 한다면? 위와 동일한 코드를 또 작성...
const sum2 = priceC + priceD
console.log(`두 상품의 합계는 ${sum2}입니다.`)
const avg2 = sum2 / 2
console.log(`두 상품의 평균은 ${avg2}입니다.`)

// 한두번은 괜찮은데 이렇게 수십, 수백번씩 평균을 구하고 출력해야 한다면?

 

이렇게 반복되는 특정 작업을 수행해야 한다면 그 코드 자체를 어딘가에 만들어서 저장해놓고 사용하는 게 효율적!

마치 변수에 데이터를 할당해놓고 계속 사용하는 것, 바로 이 때 등장하는게 함수!

 

✅ 함수의 선언과 호출

🌐함수의 선언

  • 변수를 선언하고 해당 변수에 값을 할당했던 것처럼, 함수도 선언을 하고 해당 함수가 실행할 코드의 집합을 만들어서 저장해준다.

function 함수명(매개변수들...) {

이 함수에서 실행할 코드들

return 반환값

}

 

// 여기서 함수명은 함수가 하는 일들을 대표할 수 있는 이름이면 좋다.

 

// 함수의 선언
function calculateAvg(price1, price2) {
   const sum = price1 + price2

// 매개변수인 price1, price2을 변수처럼 활용!
   console.log(`두 상품의 합계는 ${sum}입니다.`)
   const avg = sum / 2
   return avg

// 평균가격을 리턴!
}

 

✅ 매개변수(parameter) 는 해당 함수의 바디에 있는 코드에서 사용할 수 있는 일종의 변수이고, 함수 호출시 전달하게 된다. 함수를 실행하기 위해서 필요한 일종의 input 이라고 생각하면 된다.

 

 중괄호 안에는 이 함수가 해야할 일들을 코드로 쭉 작성하고, 반환해야 할 값을 명시해준다.

 

함수의 호출 : const 변수명 = 선언한 함수명(매개변수들...)

 

const priceA = 1000
const priceB = 2000
// 함수의 호출
const avg1 = calculateAvg(priceA, priceB)
console.log(`두 상품의 평균은 ${avg1}입니다.`)

const priceC = 3000
const priceD = 4000
// 함수의 호출
const avg2 = calculateAvg(priceC, priceD)
console.log(`두 상품의 평균은 ${avg2}입니다.`)