[ES6+] optional chaining ()
in JavaScript
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의 정석’을 듣고 정리 =)