HTML & CSS & JS/JS

[JS] spread, rest

가자미 2021. 3. 17. 17:33

spread : 다른 변수나 배열의 원소를 그대로 계승함을 의미(...으로 표현)

//spread
const slime={
    name : 'slime'
};
const cuteSlime={
    ...slime,//spread
    attribute: 'cute'
};

const animals=['dog', 'cat'];
const anotherAnimals=[...animals, 'pigeon'];

rest : 객체나 배열에서 특정값을 제외한 나머지를 반환해서 배열이나 객체를 반환

매개변수로 rest를 사용시 여러 매개변수를 받아 배열로 만드는 역할을 함.

//rest
const purpleCuteslime={
    name: 'slime',
    attribute:'cute',
    color:'purple'
};

const {color, ...rest}=purpleCuteSlime;
console.log(rest);//color를 제외한 요소들이 들어있음
const {attribute, ...cuteSlime}=purpleCuteslime;//이름을 내맘대로 가능

//함수 매개변수의 rest
function sum(...param){
    return param.reduce((acc, current)=>acc+current,0);
}