[혼공스] 4주차 함수

이름뭐하지·2025년 7월 27일
0

함수의 기본 형태

익명 함수

함수는 코드의 집합을 나타내는 자료형이며, 기본 형태는 다음과 같다.

function() {}

함수를 사용함으로써 생기는 장점

  • 반복되는 코드를 한 번만 정의해놓고 필요할 때마다 호출하므로 반복 작업을 피할 수 있다.
  • 긴 프로그램을 기능별로 나눠 여러 함수로 나누어 작성하면 전체코드의 가독성이 좋아진다.
  • 유지보수가 쉬워진다.

함수는 코드의 집합이며, 이름이 붙어있지 않은 함수를 익명 함수라고 부른다.

선언적 함수

function () {}

다음과 같은 방식으로 생성한 함수를 선언적 함수라 한다.

매개변수와 리턴값

함수를 호출(실행) 할 때 괄호 안에 적는 것들을 매개변수라고 한다. 또한 함수의 최종 결과를 리턴값이라고 부른다.

function 함수(매개변수, 매개변수) {
	문장
    문장
    return 리턴값
}

나머지 매개변수

호출할 때 매개변수의 개수가 고정적이지 않은 매개변수를 가변 매개변수 함수라고 부른다. 자바스크립트에서 이러한 함수를 구현할 때는 남머지 매개변수라는 트깅한 형태의 문법을 사용한다. 문법은 다음과 같다.

function 함수 이름(... 나머지 매개변수)

예시)

function sample(...items) {
	console.log(items);
}

sample(1,2)
sample(1,2,3,4)

함수의 매개변수 앞에 마침표 3개를 입력하면 매개변수들이 배열로 들어온다.

function sample(a,b, ...c) {
	console.log(a,b,c) // c가 배열로 들어온다...!
}

다음과 같이 나머지 매개변수와 일반 매개변수를 조합해서 사용할 수 있다.

기본 매개변수

함수 이름(매개변수, 매개변수=기본값, 매개변수=기본값)

위 코드와 같이 매개변수에 기본값을 지정할 수 있다.

function IntroduceMyself(name,age,country='kor')
{
	...... // country 매개변수의 기본값이 kor로 설정된다.
}

함수 고급

콜백 함수

자바스크립트는 함수도 하나의 자료형이므로 매개변수로 전달할 수 있다. 이렇게 매개변수로 전달되는 함수를 콜백 함수라고 한다.

function callThreeTimes(callback) {
	for(let i = 0; i <3; i++) {
    	callback(i);
    }
}

function print(i) {
	console.log(`${i}번째 함수 호출`);
}

위 코드에서 print 함수가 콜백함수로 callThreeTimes 함수의 매개변수로 전달되고 있다.

  • forEach() 메소드는 배열이 갖고 있는 함수로써 단순하게 배열 내부의 요소를 사용해서 콜백 함수를 호출해준다.
  • map() 메소드는 배열이 갖고 있는 함수로써, 콜백 함수에서 리턴한 값들을 기반으로 새로운 배열을 만드는 함수이다.
  • filter() 메소드는 콜백 함수에서 리턴하는 값들만 모아서 새로운 배열을 만드는 함수이다.

화살표 함수

단순한 형태의 콜백 함수를 쉽게 입력할 때 화살표 함수를 사용할 수 있다.

(매개변수) => 리턴값
const arr = [1,2,3];
arr.map((n) => n * n);

**map 메소드의 콜백 함수로 배열의 인자를 제곱해서 리턴하는 화살표 함수를 넣어주었다.

숙제

기본 숙제


추가 숙제

0개의 댓글