반원 블로그

1회차 - 07 ES6 문법 - rest operator 본문

2018~/react native

1회차 - 07 ES6 문법 - rest operator

반원_SemiCircle 2020. 6. 30. 18:46

실습 페이지 : https://repl.it/languages/babel

rest operator

function printYears(years) {
  console.log(years);
}
printYears(2000, 2001, 2010, 2015, 2018);

출력 결과

2000
=> undefined

기대한 결과는 매개변수로 넣은 2000, 2001, 2010, 2015, 2018 이 출력되는 건데 2000만 나온다.

기존 해결 방식

이를 해결하기위한 문법은 다음과 같다.

function printYears(years) {
  console.log(arguments);
}
printYears(2000, 2001, 2010, 2015, 2018);

출력결과

{ 0: 2000, 1: 2001, 2: 2010, 3: 2015, 4: 2018 }
=> undefined

이렇게 각 매개변수의 인덱스(?)와 값이 객체(파이썬의 딕셔너리 같은 형태)로 나온다.

현재 해결 방식

function printYears(...years) {
  console.log(years);
}
printYears(2000, 2001, 2010, 2015, 2018);

출력결과

[ 2000, 2001, 2010, 2015, 2018 ]
=> undefined

Spread Operator 1 - 배열 내용을 참고하자.https://gosmcom.tistory.com/161
이렇게 하면 입력인자의 개수가 여러개일 경우 years에 배열형식으로 전달된다.

Comments