[ES6+] optional chaining ()


Optional chaining

코드를 훨씬 깔끔하게 만들어준다고 한다

const me = {
  name: "sora"
  profile:{
  	email:"@gmail.com"	
	}
}

console.log(me.profile.email)
//@gmail.com


const kat = {
  name: "kat"
}

console.log(kat.profile.email)
//uncaught error

위의 me 같은 경우에는 콘솔에 찍지만 밑에는 profile 자체가 없기때문에 에러를 발생시킨다

그럴때 사용하면 좋은게

console.log(kat.profile && kat.profile.email) 이다.

kat.profile이 존재하면 kat.profile.email을 찍어라, 라는 말이다

그대신 이 단점이, 코드가 엄청 길어질수도 있다는거다

그때 사용하면 좋은게 optional chaining인데,

console.log(kat?.profile?.email) 이런식으로

?. 을 붙여서 원하는만큼 뒤로 보낼 수 있다



이 연산자를 쓰면 api에서 예상하지 못했던 변수에 대해 대처할 수 있다




노마드코더의 ‘ES6의 정석’을 듣고 정리 =)




© 2018. by sora

Powered by sora