Written by
Tina
on
on
함수의 기본형태
함수를 왜 사용하는가?
- 반복되는 코드를 한번만 정의해놓고 필요할 때마다 호출하므로 반복 작업을 피할 수 있다
- 긴 프로그램을 기능별로 나눠 여러 함수로 작성하면 모듈화로 전체 코드의 가독성이 좋아진다
- 기능별(함수별)로 수정이 가능하므로 유지보수가 쉽다
익명함수 Anonymous Function
함수에 이름이 붙어있지 않은 함수
// 익명 함수 선언하기
const func = function () {
console.log('함수 내부의 코드입니다. 그 첫번째');
console.log('함수 내부의 코드입니다. 그 두번째');
console.log('함수 내부의 코드입니다. 그 세번째');
console.log(' ');
}
func(); // 함수 호출
// 함수 호출시 콘솔창에 출력되는 결과
/*
함수 내부의 코드입니다. 그 첫번째
함수 내부의 코드입니다. 그 두번째
함수 내부의 코드입니다. 그 세번째
*/
console.log(tyepof func); // function
// 함수의 자료형은 function 이다
console.log(func); // 함수 자체도 일종의 자료이므로 출력가능
//함수 출력시 결과
/*
f () {
console.log('함수 내부의 코드입니다. 그 첫번째');
console.log('함수 내부의 코드입니다. 그 두번째');
console.log('함수 내부의 코드입니다. 그 세번째');
console.log(' ');
}
*/
선언적 함수
이름이 있는 함수
// 익명 함수 선언하기
function func () {
console.log('함수 내부의 코드입니다. 그 첫번째');
console.log('함수 내부의 코드입니다. 그 두번째');
console.log('함수 내부의 코드입니다. 그 세번째');
console.log(' ');
}
func();
//함수 출력시 결과
/*
f func () { // func라는 함수 이름이 출력된다
console.log('함수 내부의 코드입니다. 그 첫번째');
console.log('함수 내부의 코드입니다. 그 두번째');
console.log('함수 내부의 코드입니다. 그 세번째');
console.log(' ');
}
*/
연습문제
- 윤년 확인하는 함수 만들기
- a,b까지 더하는 함수
- 최소값 구하는 함수
나머지 매개변수 rest parameter
매개변수의 개수가 여러개일 때, 개수가 고정이지 않을때 이 함수를 가변 매개변수 함수 라고 한다
이러한 함수를 구현할 때 나머지 매개변수를 사용한다 함수의 매개변수 앞에 ... 을 입력하면 매개변수들이 배열로 들어온다.
function sample(...items){
console.log(items);
}
sample(1,2);
sample(1,2,3);
sample(1,2,3,4);
// 실행결과
/*
Array(2);
Array(3);
Array(4);
*/
배열이 아닌 일반 매개변수와도 함께 쓸 수 있다
function sample(a,b,...c){
console.log(a,b,c);
}
sample(1,2);
sample(1,2,3);
sample(1,2,3,4);
//실행결과
/*
1 2 []
1 2 [3]
1 2 [3,4]
*/
// 매개변수 a,b로 들어오는 인자는 원래대로 들어오고 매개변수 c로 들어오는 인자는 배열로 들어온다
매개변수로 들어온 자료형이 배열인지 숫자,문자열 등인지 구분할 수 있어야한다 typeof 연산자로 기본 자료형(number,string,boolean 등)은 알 수 있지만 배열은 object라고 알려주므로 확실히 배열인지 확인하려면 Array.isArray() 메소드를 사용해야한다
전개 연산자
배열을 함수의 매개변수로써 전개하고 싶을때 사용
함수 이름(…배열)
function sample(...items) {
console.log(items)
}
// 전개 연산자 사용 여부 비교하기
const array = [1, 2, 3, 4]
console.log('# 전개 연산자를 사용하지 않은 경우')
sample(array)
// 실행 결과
/*
[Array(4)] --> 4개 요소가 있는 배열 출력
*/
console.log('# 전개 연산자를 사용한 경우')
sample(...array)
// 실행 결과
/*
[1, 2, 3, 4] --> 숫자 하나하나가 전개된 배열이 출력
*/
기본 매개변수
비슷한 값을 반복적으로 매개변수로 입력해야하는 경우 아래 예시처럼 매개변수의 기본값을 설정할 수 있다
function sample(a=기본값, b) {}