...
1. 입력받을 매개변수의 개수를 모를 경우 (Rest Parameters)
function sumAll(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
2. Array나 Object의 원소들을 나열해야 하는 경우 (Spread Syntax)
let arr1 = [1, -2, 3, 4];
let arr2 = [8, 3, -8, 1];
let merged = [0, ...arr1, 10, ...arr2];
alert(merged); // [0, 1, -2, 3, 4, 10, 8, 3, -8, 1];
alert( Math.max(1, ...arr1, 2, ...arr2, 25) ); //
let str = "Hello";
alert( [...str] ); //H,e,l,l,o
3. 배열 복사 (Copy By Value)
let arr = [1, 2, 3];
let arrCopy = [...arr];
alert(JSON.stringify(arr) === JSON.stringify(arrCopy)); // true
alert(arr === arrCopy); // false (참조가 다름)
let obj = { a: 1, b: 2, c: 3 };
let objCopy = { ...obj };
alert(JSON.stringify(obj) === JSON.stringify(objCopy)); // true
alert(obj === objCopy); // false (참조가 다름)
출처
https://ko.javascript.info/rest-parameters-spread
'IT > Programming Language' 카테고리의 다른 글
Generic이란 (0) | 2022.03.06 |
---|---|
[Javascript] 비동기 처리 방식 (0) | 2022.02.20 |
[Javascript] closure (0) | 2022.02.20 |
[Javascript] var -> let, const (0) | 2022.02.19 |
[Javascript] Arrow Function vs Function (0) | 2021.10.31 |
댓글