: 주로 배열을 풀어서 인자로 전달하거나, 배열을 풀어서 각각의 요소로 넣을 때 사용
function sum(x,y,z) {
return x + y + z;
}
const numbers = [1,2,3]
sum(...numbers)
console.log(sum(...numbers)) // 6
: 매개변수를 배열의 형태로 받아서 사용할 수 있다. 매개변수의 갯수가 가변적일 때 유용.
function sum (...theArgs){
return theArgs.reduce((previous, current) => {
return previous + current;
});
}
sum(1,2,3) // 6
sum(1,2,3,4) // 10
spread 문법은 배열에서 강력한 힘을 발휘한다
1. 배열 합치기
2. 배열 복사 → arr.slice()와 유사. 기존 배열을 변경하지 않음.
3. 객체에서 사용
4. 함수에서 나머지 매개변수 받아오기
→
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 ['three', 'four', 'five', 'six']
// → 배열로 출력된다.
// 화살표 함수
const sum = (x,y) => {
return x+y;
}
()
)를 생략할 수 있다.// 매개변수가 1개라 매개변수를 감싸는 소괄호 생략
const square = x => {return x * x }
// 단, 매개변수가 없는 경우엔 소괄호를 생략할 수 없다.
const greeting = () => {return 'hello world'}
const sqare = x => x * x
const taste = (a, b) =>
is ${a} more delicious than ${b}?
;taste('potage', 'pizza');
// is potage more delicious than pizza?