[ES6+] rest & spread &



특정값 제외 예시

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의 정석’을 듣고 정리 =)




© 2018. by sora

Powered by sora