728x90
spread operator (펼침 연산자)
펼침연산자는 ... 를 사용한다.
마치 String의 concat이 새로운 공간을 할당받아 이어진 문자열을 만들어 주는것 처럼,
spread operator를 사용하면 새로운 공간을 할당받아 복사된 값을 가진 배열을 만든다.
let pre = ["apple", "orange", 100];
let newData = [...pre];
console.log(pre, newData);
console.log(pre === newData);
/* output:
[ 'apple', 'orange', 100 ] [ 'apple', 'orange', 100 ]
false */
참조가 아닌 복사이기 때문에 === 연산자로 비교하면 false가 나온다.
let pre = [100, 200, "hello", null];
let newData = [0, 1, 2, 3, ...pre ,4];
console.log(newData);
/* output:
[ 0, 1, 2, 3, 100, 200, 'hello', null, 4 ]
*/
배열 중간에 다른 배열을 끼워넣고 싶을 때 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
'STUDY > JavaScript' 카테고리의 다른 글
[JS] padStart() · Date.parse() (0) | 2023.01.09 |
---|---|
[JS] arguments 객체 (0) | 2023.01.05 |
[JS] 배열 순회 for · for-in · for-of · forEach (0) | 2023.01.03 |
[JS] 스코프(var, let, const) · String 메서드 (0) | 2023.01.02 |
[JS] 함수 표현식과 함수 선언식의 차이 - 호이스팅 (0) | 2022.12.28 |