함수란 특정 작업을 수행하는 코드의 집합이라고 볼 수 있다.
function 함수명(매개변수들...) {
이 함수에서 실행할 코드들
return 반환값
}
매개변수(parameter) 는 해당 함수의 바디에 있는 코드에서 사용할 수 있는 일종의 변수이고, 함수 호출시 전달하게 됩니다. 함수를 실행하기 위해서 필요한 일종의 input 이라고 보면 된다. 중괄호 안에는 이 함수가 해야할 일들을 코드로 쭉 작성하고, 반환해야 할 값을 명시해준다.
// 함수의 선언
function calculateAvg(price1, price2) {
const sum = price1 + price2 // 매개변수인 price1, price2을 변수처럼 활용!
console.log(`두 상품의 합계는 ${sum}입니다.`)
const avg = sum / 2
return avg // 평균가격을 리턴!
}
위의 코드는 함수를 선언해준 것이다. body의 내용을 보면 매개변수로 지정해둔 price1 과 price2의 합을 sum 이라는 변수로 지정해 뒀고 또 sum 을 2로 나눈 값을 avg 라는 변수로 지정해 두었다.
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}입니다.`)
위의 코드는 함수를 호출하여 priceA 와 priceB를 미리 지정해둔 함수의 매개변수인 price1 과 price2에 넣어 함수를 실행한 것이다.
함수 호출 시 코드는 다음과 같이 진행된다.
1. 함수 calculateAvg를 호출하면서 변수 priceA와 priceB를 매개변수로 전달
2. 함수 calculateAvg의 바디 코드가 실행됨. 이 때 1번에서 전달한 매개변수의 값이 함수를 선언할 때 썼던 매개변수명인 price1, price2에 할당되었다고 보면 됨
3. 함수의 바디 코드가 최종적으로 변수 avg를 리턴하고 있고, 이것이 변수 avg1에 할당됨
댓글