Spread Operator
배열에 붙인다면
var array = ['hello', 'world'];
console.log(...array);
‘hello’, ‘world’로 출력된다.
문자에 붙인다면.
var word = 'hello';
console.log(...word);
h e l l o . 각 알파벳이 한자씩 출력된다.
문자도 배열처럼 인덱싱이 가능하다.
var word = 'hello';
console.log(word[1]); // e
사용예시
var a = [1, 2, 3];
var b = [4, 5];
var c = [...a, ...b];
var a = [1, 2, 3];
var b = a;
a[3] = 4;
이때 b=a 로 선언하면 값을 공유하는 상황이 생겨 a값만 변경하더라도 b도 같이 변하게된다.
var a = [1, 2, 3];
var b = [...a];
a[3] = 4;
spread operator를 이용하면 독립적으로 값을 갖는다.
오브젝트를 합칠때도 사용할 수 있다.
var o1 = {a:1, b:2};
var o2 = {...o1, c:3};
o1의 값들이 o2에 포함되어있다.
함수에서도 사용할 수 있다.
function add(a, b, c) {
console.log(a + b + c);
}
var array = [10, 20, 30];
add(...array);