[ES6+] spread
in JavaScript
spread
변수를 가지고 와서 푼다음 다시 전개하는 것 ( … 으로 표시한다)
그러니까,
const friends = [1,2,3,4];
console.log(friends);
이 경우에는 [1,2,3,4]
를 콘솔에 찍는데,
spread를 이용해서
console.log(...friends);
//1 2 3 4
찍어주면 배열이 아니라 값을 찍는다
만약 배열 두개에 있는 값만 합쳐서 다시 배열로 만들기 위해서는 어떻게 해야할까?
const friends = [1,2,3,4];
const family = ["a","b","c"];
console.log(friends + family) ? //1,2,3,4a,b,c string으로 만들어버림
console.log([friends, family]) ? //[Array(4), Array(3)] 배열안에 배열이 생겨버림
이럴때 spread 생성자를 이용하면 된다.
console.log([...friends, ...family]);
를 하면
//[1, 2, 3, 4, "a", "b", "c"]
를 찍는다
오브젝트도 똑같은 방식으로 해주면 된다
노마드코더의 ‘ES6의 정석’을 듣고 정리 =)