• 로그인
  • 장바구니에 상품이 없습니다.

함수 업그레이드하기 (default parameter, arguments)

 

 

 

0:00 default 파라미터

5:51 함수의 arguments

 

 

 

ES6부터 업그레이드된 함수의 default 파라미터 기능과

ES5 문법 arguments에 대해 알아봅시다. 

 

 

함수의 default 파라미터 넣기

 

함수를 만들 때 파라미터값을 실수로 안적거나 했을 경우 

파라미터에 기본값(default 값)을 줄 수 있습니다. 

이렇게 사용하시면 됩니다. 

 

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

더하기(1);

위 코드를 실행하면 콘솔창에 뭐가 뜨냐면 11이 뜹니다. 

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

하지만 실수인지 일부러인지 1이라는 파라미터 하나밖에 쓰지 않았습니다. 

그럴 때 저렇게 b = 10 선언해뒀던 default 파라미터값인 10이 b에 할당되게 됩니다. 

그래서 콘솔창에 a + b가 11이 출력되게 되는 것입니다. 

 

 

default 파라미터를 주고 싶으면 저렇게 파라미터 선언하실 때 등호로 입력해주시면 됩니다. 

그럼 파라미터가 정의되지 않았을 때 등호 오른쪽 값이 발동됩니다. 

default 파라미터로 별게 다 들어갈 수 있습니다. 

 

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

더하기(1);

수학 연산자도 사용가능합니다. b 자리에 파라미터가 없으면 2 * 5라는 값을 할당해줍니다. 

 

 

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

더하기(3);

다른 파라미터와 연산도 가능합니다. 위 코드는 실행하면 콘솔창에 뭐가 출력될까요?

뭘까요

9가 출력됩니다. 

console.log(3 + 6)을 실행하니까요. 

[collapse]

 

 

심지어 default 파라미터엔 함수입력도 가능합니다. 

function 임시함수(){
  return 10 
}

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

더하기(3);

위 코드는 실행하면 콘솔창에 뭐가 출력될까요?

뭘까요

13이 출력됩니다. 

b자리에 파라미터가 들어오지 않으면 임시함수()를 실행한 값을 b 파라미터에 할당해줍니다. 

임시함수()를 실행하면 그 자리에 10이 남습니다.

(return 10이 그 뜻입니다)

그래서 console.log(3 + 10)을 실행해줍니다. 

[collapse]

 

 

 

 

함수의 arguments

 

함수의 모든 파라미터들을 전부 한꺼번에 싸잡아서 다루고 싶은 경우가 있습니다. 

그럴 땐 arguments라는 키워드를 활용하시면 됩니다. 

함수 안에서 쓸 수 있는 미리 정의된 키워드 혹은 변수인데

한번 써보도록 합시다. 

 

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

함수(2,3,4);

그러면 콘솔창에 [2,3,4]를 담은 array 비슷한 자료가 출력됩니다. 

arguments는 즉, 모든 입력된 파라미터를 [ ] 안에 싸매주는 고마운 키워드였던 것이었습니다. 

이제 여러분이 파라미터들을 한꺼번에 다루고 싶을 때 자주 활용해주시면 됩니다. 

예를 들면 이런 경우가 있겠군요. 

 

 

 

콘솔창에 모든 파라미터를 하나씩 출력해주고 싶은 경우

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

함수(2,3,4);

이러면 되겠군요? 그런데 조금 더 확장성있게 반복문을 쓴다면

 

 

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

함수(2,3,4);

이러면 되겠군요.

약간 편리하게 파라미터들을 다룰 수 있는 문법이었습니다. 

하지만 ES6문법 부터는 파라미터를 더 쉽게 다룰 수 있는 rest 파라미터라는 문법이 등장하게 되는데..

그건 다음 강의에서 알아봅시다. 

 

 

 

 

 

SEE ALL Add a note
YOU
Add your Comment

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠