본문 바로가기

Javascript

[JS/ES6] spread operator

728x90
반응형

배열의 복사 (immutable array)


spread operator를 번역하면 펼침 연산자 입니다.

이 연산자는 ... 를 사용합니다.

마치 String의 concat이 새로운 공간을 할당받아 이어진 문자열을 만들어 주는것 처럼,

spread operator를 사용하면 새로운 공간을 할당받아 복사된 값을 가진 배열을 만듭니다.


let pre = ["apple", "banana", 100];

let newData = [...pre];

console.log(pre, newData);

console.log(pre === newData);


물론 참조가 아닌 복사이기 때문에 === 연산자로 비교하면 false가 나옵니다.



배열을 합침

let pre = [10,20,30];

let result = ['a', 'b', ...pre, 'c'];

console.log(result); // => ['a', 'b', 10, 20, 30, 'c']

배열 중간에 다른 배열을 끼워넣고 싶을 때 spread operator를 이용해서 간단하게 합칠 수 있습니다.



함수의 매개변수로 쉽게 전달

function sum (a,b,c) {

return a+b+c;

}

let pre = [10, 20, 30];

console.log(sum.apply(null, pre)); // 이전에 사용했던 방법 중 하나

console.log(sum(...pre)); // spread operator 사용

배열을 그대로 매개변수에 넣고 싶을 때 보다 쉽게 전달할 수 있습니다.





728x90
반응형