프로그래밍공부/자바스크립트

arguments 와 전개연산자(...xxx)

EWOOS 2019. 6. 20. 14:47

(1)arguments ( ES5 문법)

1) arguments 개념

 

function foo(){

   return arguments  

   }

foo('a','b','c','d') 

 

  -> arguments 고유 동작단어로써 해당 함수의 들어오 모든 인자를 불러온다

  -> 예제에서는  [a,b,c,d] 불러온다

( 배열과 유사한 형태의 객체를 출력 === 유사배열)

 

2) 관련링크

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/arguments

 

https://opentutorials.org/course/743/6548

 

 

 

 

 

 

(2) 전개연산자(...xxx).  (ES6 문법)

1) 개요

function foo(...xxx){

     console.log("1: ",xxx);

     console.log("2: ",...xxx);

   }

   foo(1,2,3,4,'a','b');  // -> 1:  [1,2,3,4,,'a','b']

  -> 2:  1,2,3,4,,'a','b'

--->함수 인자에 정해지지  않은 수의 여러값을 넣어주고자 할때 사용

 --> 여기서 xxx 변수로써 해당 함수에 들어온 인자값들을 배열로 나타낸다

---> ...xxx 해당 값들만 뽑아온다 (1,2,3,4 이런식으로 ...xxx (배열) 내부 값들)

----> [...xxx] 위의 xxx 동일한, 배열로 나타남 가능하다.

---> 사용법 함수 매개변수 자리에   ...xxx(<--아무이름)  입력

--->https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_operator

2) 배열을 함수의 매개변수로 넘겨주고자 사용 가능

var jsh = [1,2,3]

function sum(x,y,z){

   console.log(x+y+z)

}

sum(...jsh)

 

 

 

 

 

 

 

 

 

(3) default Paremeter. (ES6 문법)

 

 

1) 개념

- 매개변수의 기본값을 설정하여 고정시킨다

- 기본값으로 숫자, 문자 , 객체등 모두 가능

- 함수 실행시 다른 인자 입력하면 인자 실행 (기본값 무시)

 

2) 예시

function getRoute(destination, departure = '인천'){

  return `출발지: ${departure}, 도착지: ${destination}`

}

 

getRoute("도쿄") // "출발지: 인천, 도착지: 도쿄"

getRoute("도쿄","부산") // "출발지: 부산, 도착지: 도쿄"

 

2) 관련 링크

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Default_parameters