?. optional chaining
기능 : ?. 왼쪽에 있는게 null 혹은 undefined 인 경우 마침표찍지 말고 undefined 남겨주삼
어떤경우 쓰냐면
var user = {
name : 'kim',
age : { value : 20 }
}
console.log(user.age1.value1) //에러남 ㅅㄱ
에러 안뜨게 하려면 ?. 쓰면됨
var user = {
name : 'kim',
age : { value : 20 }
}
console.log(user.age1?.value1) // ?. 붙이면 에러 안나고 undefinded 나옴
에러 뜨면 밑에 코드가 실행 안되서 위험하니까 ?. 쓰는거임
그럼 중첩 obj 말고 간단한 obj에서도 쓰면 좋은거 아닌가? ㄴㄴ
일반 obj에서는 자료 없으면 자동으로 undefinded 남음
중첩된 obj는 마침표를 2번 이상 찍기 때문에 이럴때만 ?. 쓰면됨
?? nullish coalescing operator
?? 왼쪽이 null, undefined 일 경우 오른쪽 보여달라~ 라는 뜻
var user;
console.log(user ?? '로딩중') // 로딩중 나옴 왜냐? 변수에 할당 안됐잖음
나중에 React,Vue에서 많이 쓴다네요