개발자 첫걸음/The WEb Developer BootCamp 2022
Section 20: 함수란?
프로아마추어
2022. 4. 25. 00:01

1. 함수 개요
왜 함수를 사용할까?
- 코드의 재사용 가능한 일부로서 함수를 호출하여 코드를 가져와 쓸 수 있다.
- 코드의 중복을 줄이는데 유용하다.
- 코드의 직관성을 높여준다.
함수의 필요성
// 아래 코드 4줄의 중복되는 부분이 너무 많다.
// 비효율적으로 반복되는 부분을 묶을 수 없을까?
let die1 = Math.floor(Math.random() * 6) + 1;
let die2 = Math.floor(Math.random() * 6) + 1;
let die3 = Math.floor(Math.random() * 12) + 1;
let die4 = Math.floor(Math.random() * 18) + 1;
2. 우리의 가장 첫 번째 함수
함수 사용하기
- 함수 선언
- 함수 호출
// 함수 선언하기
// function키워드 함수이름()
function funcName() {
// do something
}
// 함수 이름은 자유롭게 작성 가능하며 두 단어 이상이 사용되면 낙타표기법으로 표기해준다.
function eatingMeal() {
console.log('밥 먹는 중이에요');
}
// 함수 호출하기
// 함수이름()
// 함수 호출 횟수에 제한이 없음을 알 수 있다.
eatingMeal(); // '밥 먹는 중이에요'
eatingMeal(); // '밥 먹는 중이에요'
eatingMeal(); // '밥 먹는 중이에요'
3. 인수 개요
- 인수는 함수에 입력되는 값을 의미한다.
- 매개변수 혹은 파라미터라고도 부른다.
// 인수가 있는 함수 정의하기
// function키워드 함수이름(인수)
function greet(name) {
console.log(`안녕, ${name}!`);
}
greet('민수') // '안녕, 민수!'
4. 인수가 여러 개인 함수
// 예제 1
function greet(lastName, firstName) {
console.log(`나의 성씨는 ${lastName}이고 이름은 ${firstName}이야 `);
}
greet('홍', '길동'); // '나의 성씨는 홍이고 이름은 길동이야'
// 예제 2
function repeat(str, count) {
let sentence = '';
while(count--) {
sentence += str;
}
console.log(sentence);
}
repeat('메롱', 3); // '메롱메롱메롱'
5. return 키워드
return은 함수 호출부에서 함수의 결과 값을 받고 싶을 때 선언한다.
// return 키워드 사용하기
// function 함수이름() {
// return 반환할 값;
// }
function add(num1, num2) {
// 두개의 인자 중에서 하나라도 숫자 타입이 아니면 false를 반환한다.
if(typeof num1 !== 'number' || typeof num2 !== 'number') {
// return 사용하기. return키워드 출력 값
return false;
}
// 두 인자의 합을 반환한다.
// 위의 false가 반환되면 함수가 종료되어 두 수의 합은 반환되지 않는다.
return num1 + num2;
}
// 함수 호출 단에서 add의 결과 값을 받을 수 있다.
add(1, '2') // false
add(1, 3) // 4
// 함수의 반환 값을 변수에 담을 수 있다.
let total = add(add(5, 9), 6) // 20
total // 20