ES2020(또는 2021년)부터 사용 가능한 optional chaining과 nullish coalescing operator
null 또는 undefined인 경우 에러를 발생시키지 않고 undefined를 반환합니다.var user = {
name: 'kim',
age: 20
}
console.log(user.name); // 'kim'
console.log(user?.name); // 'kim'
user가 null이나 undefined였다면 에러 대신 undefined가 반환됩니다.var user = {
name: 'kim',
age: { value: 20 }
}
console.log(user.age1?.value1); // undefined (에러 없음)
user.age1이 존재하지 않으므로, .value1에 접근할 때 에러 대신 undefined를 반환합니다.주의:
optional chaining은 에러를 해결해 주는 것이 아니라 에러를 발생시키지 않도록 "감추는" 역할입니다.
null 또는 undefined일 때, 우측의 값을 반환합니다.var user;
console.log(user ?? '로딩중'); // '로딩중'
user가 undefined이므로, ?? 연산자는 우측의 '로딩중'을 반환합니다.var user = null;
var displayName = user ?? '사용자 정보 로딩 중';
console.log(displayName); // '사용자 정보 로딩 중'
undefined를 반환하여 실행 흐름을 유지할 수 있습니다.null이나 undefined일 때 기본값을 제공하여 사용자에게 안정적인 데이터를 보여줄 수 있습니다.