optionalchaing ?.
nullish coalescing ??
let user={ name:'kim' , age:20}
console.log(user?.age)
?. 왼쪽이 null 이나 undefined 면 점안찍어주고 undefined를 남겨준다
중첨됩 object 자료에서 자료뽑을때 reference 에러없이 안전하게 뽑을 수 있다
예시)
let user={ name:'kim' , age:{value:20}}
console.log(user.age.value) //20
이때
let user={ name:'kim' }
console.log(user.age.value) // 에러발생
에러 방지를 위해
console.log(user.age?.value) //undefined
중첩되지않은 object에서 자료를 뽑을때 ?.를 사용하는것은 아무 의미 없다
중첩되지않은 자료에서는 똑같이 undefined이다
(user.age.value 같이 .을 여러번 사용할때 의미가 있다)
console.log(undefined ?? '정답')
?? 은 왼쪽이 undefined 이거나 null 이면 오른쪽을 보여준다
let user
console.log(user)
다음과 같을때 데이터가 늦게 도착할 경우 화면에 undefined 등과 같은 것들이 화면에 출력되지 않도록
let user
console.log(user ?? '로딩중')
다음과 같이 사용해서 안전하게 변수등을 화면에 보여줄 수 있다.