자바스크립트의 스프레드 연산자와 rest연산자를 알아본다.
이런 객체가 있다고 가정해본다.
각각 다른 슬라임이지만 공통적인 부분이 보인다. 이 부분을 ... Spread 연산자를 사용해서 중복되는 부분을 사용해본다.
위의 코드는 각각의 객체에 있는 특성을 주입한 결과이며, 아래의 코드이며 아래의 코드는 하나의 객체에 특성을 주입시킨 것이다.
그리고 스프레드는 배열에서도 사용이 가능하다.
또한 스프레드를 사용한 것과 concat을 사용했을 때와 같은 결과를 나타낸다.
스프레드는 중복으로도 사용이 가능하다.
즉, 스프레드 연산자는 기존 객체를 복사하고 추가할 때 사용한다.
다음은 rest 연산자를 알아본다.
rest는 스프레드와는 약간 반대되는 개념이다.
로그를 찍어보면 color를 제외한 name, attr이 로그에 출력된다.
그리고 ...rest에서 rest는 마음대로 바꿔도 된다.
배열에서도 사용이 가능한데 아래의 코드를 보자.
rest를 찍어보면 0을 제외한 모든 숫자가 출력되는 것을 확인할 수 있다.
rest는 맨 마지막에 와야한다는 규칙이 있다.
SyntaxError: /src/index.js: Rest element must be last element (7:15)
...rest의 순서가 바뀌면 위와 같은 SyntaxError가 나타난다.