Optioinal chaining (?.)
객체의 속성을 안전하게 접근할 수 있게 해주는 연산자이다.
event.data가 null 또는 undefined인 경우에도 코드가 중단되지 않고 계속 실행한다.
예를들어, 'event' 객체가 아래와 같이 정의되어 있을 때
let event = {
data: {
startTime: "10:00 AM",
location: "Conference Room"
}
};
여기서 event.data.startTime은 "10:00 AM"을 반환한다.
하지만, event.data가 null이거나 undefined인 경우에는 event.data.startTime을 접근할 때 TypeError가 발생할 수 있다.
이 때 Optional chaining(?.)을 사용하면 이를 방지할 수 있다.
Nullish coalescing (??)
왼쪽 피연산자가 null 또는 undefined 일 때만 오른쪽 피연산자를 반환한다.
즉, 왼쪽 피연산자가 null 또는 undefined 가 아닌 경우 왼쪽 피연산자 자체를 반환한다.
예를들어, event.data.startTime이 null 또는 undefined일 경우 아래와 같이 "Unknown"을 반환한다.
event.data?.startTime ?? "Unknown"
event.data가 존재하고 event.data.startTime이 존재하면 그 값을 반환한다.
-> "10:00 AM" 을 반환
event.data가 null 또는 undefined이거나 event.data.startTime이 null 또는 undefined일 경우 "Unknown"을 반환한다.
이 코드는 객체의 중첩된 속성을 안전하게 접근하고 기본값을 설정하는 데 유용하다.
'JavaScript' 카테고리의 다른 글
[JavaScript] use strict란? (0) | 2024.05.22 |
---|---|
[JavaScript] == 연산자와 === 연산자 차이 (1) | 2024.03.14 |