spread 문법
- 주로 배열을 풀어서 인자로 전달하거나, 배열을 풀어서 각각의 요소로 넣을 떄에 사용한다.
function sum(x,y,z){
return x+y+z;
}
const numbers = [1, 2, 3];
sum(...numbers)
- spread 문법은 배열에서 강력한 힘을 발휘한다.
배열 합치기
let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
lyrics
(5) ['head', 'shoulders', 'knees', 'and', 'toes']
배열 복사
let arr = [1, 2, 3];
let arr2 = [...arr];
arr2.push(4);
arr
(3) [1, 2, 3]
arr2
(4) [1, 2, 3, 4]
rest 문법
- 파라미터를 배열의 형태로 받아서 사용할 수 있다. 파라미터 개수가 가변적일 때 유용하다.
function sum(...theArgs) {
return theArgs.reduce((previous, current) => {
return previous + current;
});
}
sum(1,2,3)
sum(1,2,3,4)
객체에서 사용하기
let obj1 = { foo: 'bar', x: 42 };
let obj2 = { foo: 'baz', y: 13 };
let clonedObj = { ...obj1 };
let mergedObj = { ...obj1, ...obj2 };
clonedObj
{foo: 'bar', x: 42}
mergedObj
{foo: 'baz', x: 42, y: 13}
함수에서 나머지 파라미터 받아오기
function myFun(a, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
a one
b two
manyMoreArgs (4) ['three', 'four', 'five', 'six']