: 압축되어 있는 값을 풀어준다.
const sunjae = {
name: '선재'
} ;
const student = {
...sunjae,
age: 19
}
const tallestStudent = {
...student,
height: 189
}
const AToF = ['a', 'b', 'c', 'd', 'e', 'f'];
const AToI = [...AToF, 'g', 'h', 'i']; // ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
const code = ['a', 'b', 'c', 'd', 'e', 'f'];
const mixed = [...code, 1000, ...code] ; // ['a', 'b', 'c', 'd', 'e', 'f', 1000, 'a', 'b', 'c', 'd', 'e', 'f']
const nums = [10, 2000,30];
function sum(a,b,c) {
return a + b + c;
}
sum(...nums);
: 여러개의 값을 하나로 압축시킴
const tallestStudent = {
name: '선재',
age: 19,
height: 189
}
const {height, ...student} = tallestStudent;
console.log(height); // 189
console.log(student); // {name: '선재', age: 19}
: 단, 배열에서는 rest를 먼저 쓸수 없고 마지막에 써야함!
const code = ['a', 'b', 'c', 'd', 'e', 'f'];
const [first, ...rest] = code;
console.log(first); // 'a'
console.log(rest); // ['b', 'c', 'd', 'e', 'f']
const [...rest, last] = code; // ------------> 이건 안됨
: 모든 요소들을 배열로 모음
function calculate(type, ...numbers) {
let total = 0;
numbers.forEach(ele => {
if (type === 'plus') {
total += ele;
} else {
total -= ele;
}
})
return total;
}
calculate('plus', 10, 2000, 30, 2022);
calculate('minus', 10, 2000, 30);