?. 문법
1
2
3
4
const user = {
name: "kim",
};
console.log(user?.age)
user가 null,undefined라면 .age가 아닌 바로 undefined를 반환한다
활용 예시로 TypeScript를 사용한다면
1
2
3
{list.data.map((value)=>(
<ListItem></ListItem>
))}
만약에 list라는 값이 통신으로 받아오는 값이라면 null,undefined인 시점이 있기 때문에 error가 난다
1
2
3
{list?.data.map((value)=>(
<ListItem></ListItem>
))}
하지만 ?. 문법을 사용하면 list를 받아왔을때 .data.map 코드가 작동한다.
?? 문법
왼쪽에 오는 data가 null,undefined라면 오른쪽을 실행한다.
1
console.log(undefined ?? "로딩중")
OR연산자와 같은 것 같지만 다른점은 OR연산자는 0,”“,false,undefined,null을 전부 검사한다는 점에서 차이가 있다.
1
console.log(0 || "로딩중") // 로딩중
마치며
혹시 잘못된 정보나 궁금하신 게 있다면 편하게 댓글 달아주세요.
지적이나 피드백은 언제나 환영입니다.