[ES6+] rest & spread &
in JavaScript
특정값 제외 예시
const user = {
name : "sora",
age : 30,
password : 12345
};
user["password"] = null;
console.log(user);
//{name:"sora","age":30,password:null}
but여기에는 계속 password가 떠있다
이 password를 제외하고 나머지값을 가져오고 싶으면
const user = {
name : "sora",
age : 30,
password : 12345
};
const killPassword = ({password, ...rest}) => rest;
const cleanUser = killPassword(user);
console.log(cleanUser);
이렇게하면 {name:"sora",age:30}
만 가져온다
기본값 설정 예시
const user = {
name : "sora",
age : 30,
password : 12345
};
const setCountry = ({country = "KR", ...rest}) => ({country, ...rest});
console.log(setCountry(user));
//{country:"KR",name:"sora",age:30,...}
속성명 바꾸기 예시
const user = {
NAME : "sora",
age : 30,
password : 12345
};
이 예시에서 NAME의 이름을 바꾸고 싶다면
const user = {
NAME : "sora",
age : 30,
password : 12345
};
const rename = ({NAME:name, ...rest}) => ({name, ...rest})
console.log(rename(user));
이러면 NAME으로 찍혀야 할 것들이 name으로 찍힌다
노마드코더의 ‘ES6의 정석’을 듣고 정리 =)