[ES6] 09. 자바스크립트 함수 업그레이드하기 (default parameter/arguments)

fe.syhan·2023년 10월 31일

JS 기초

목록 보기
37/52
post-thumbnail

Default Parameter


함수를 만들 때,

파라미터의 값을 안 적을 경우 기본값을 줄 수 있다.

function 더하기(a, b = 10) {
	console.log(a + b);
}

더하기(1); // 11

더하기() 함수는 파라미터를 두 개 입력할 수 있다.

하지만 함수를 실행할 때,

1이라는 하나의 파라미터만이 쓰였다.

이러한 경우 b = 10 이라고 선언해 두었던 default 파라미터 값이 10이 b에 할당이 된다.

연산자도 가능하다.

function 더하기 (a, b = 2 * 5){
  console.log(a + b)
}

더하기(1); // 11

다른 파라미터와 연산도 가능하다.

function 더하기 (a, b = 2 * a){
  console.log(a + b)
}

더하기(3); // 9

함수입력도 가능하다.

function 임시함수(){
  return 10 
}

function 더하기 (a, b = 임시함수() ){
  console.log(a + b)
}

더하기(3); // 13

Arguments


함수의 모든 파라미터들을 전부 다뤄야 할 경우가 있다.

이럴 땐 함수 안에서 쓸 수 있는 미리 정의된 키워드인

arguments 라는 키워드를 활용할 수 있다.

function 함수(a,b,c){
  console.log(arguments)
}

함수(2,3,4);
// Arguments(3) [2, 3, 4, callee: ƒ, Symbol(Symbol.iterator): ƒ]

모든 파라미터를 하나씩 출력하고 싶은 경우,

function 함수(a,b,c){
  console.log(arguments[0])
  console.log(arguments[1])
  console.log(arguments[2])
}

함수(2,3,4); 
// 2
// 3
// 4

조금 더 확장성있게 반복문을 쓴다면,

function 함수(a,b,c){
  for (var i = 0; i < arguments.length; i++){
    console.log(arguments[i])
  }
}

함수(2,3,4);

0개의 댓글