나열형 자료를 추출하거나 연결할 때 사용한다. 사용 방법은 배열이나 객체, 변수명 앞에 마침표 세 개(...)를 입력한다. 다만, 배열, 객체, 함수 인자 표현식([], {}, ())안에서만 사용해야 한다.
이게 뭔소리가 싶었다.
예를 들어
var array1 = ['one', 'two'];
var array2 = ['three', 'four'];
const combined = [...array1, ...array2];
//결과: combined = ['one', 'two', 'three', 'four'];
배열이나 객체를 붙여주는구나.. 그럼 그냥 concat 쓰는거랑 뭐가 다른가 싶었으나
var num1 = [1,2,3];
var total = [...num1, 4,5,6,7];
//결과 total = [1,2,3,4,5,6,7];
concat은 인자로 전달받은 값 순으로 기존 배열끝에서 값을 추가하지만 전개 연산자는 배열의 아무 위치에서 입력할 수 있다는 점이다.
또한 concat을 이용해서 새로운 배열을 만드는것이 아니라 기존 배열에 값을 추가한다면 push를 사용한다.
const array1 = [1,2];
const array2 = [3,4];
array1.push(array2);
//결과: array1
[ 1, 2, [ 3, 4 ] ]
array2의 배열 값이 들어가는것이 아니라 배열 자체가 들어가버린다.
하지만 전개 연산자를 사용하면 배열이 아니라 값을 넣을 수있다.
const arr1 = [1,2];
const arr2 = [3,4];
arr1.push(...arr2);
//결과 : arr1
[ 1, 2, 3, 4 ]
객체도 마찬가지. 객체나 배열 그자체가 아니라 그 안에 요소를 넣을 수 있다는 점이다.