null 병합 연산자는 논리연산자로 좌측 표현식이 null
또는 undefined
일때 우측 표현식을 반환하고, 그렇지 않으면 좌측 표현식을 반환하는 연산자이다.
좌측표현식 ?? 우측표현식
const nullValue = null;
const emptyText = ""; // falsy
const someNumber = 42;
const valA = nullValue ?? "default for A";
const valB = emptyText ?? "default for B";
const valC = someNumber ?? 0;
console.log(valA); // "default for A"
console.log(valB); // "" (as the empty string is not null or undefined)
console.log(valC); // 42
위 예제의 emptyText처럼 falsy한 값을 논리적으로 처리하기 좋다.
널 병합 연산자는 명확한 값으로 undefined
과 null
을 처리하고, optional chaining 연산자 (?.)는 null
or undefined
일 수 있는 객체의 속성에 접근할 때 유용하다.
const foo = { someFooProp: "hi" };
console.log(foo.someFooProp?.toUpperCase() ?? "not available"); // "HI"
console.log(foo.someBarProp?.toUpperCase() ?? "not available"); // "not available"
정의될지 안될지 모르는 값을 처리해주기 유용하다
잘 읽었습니다. 좋은 정보 감사드립니다.