공유/JavaScript, TypeScript

[JS] ?? 와 || 연산자 차이

구하천포 2024. 10. 22. 18:27

nullish coalescing operator (??)

?? 연산자는 null, undefined 인 경우 기본값을 제공하는 연산자입니다.

const value = variable ?? "default";

variable 값이 null, undefined 인 경우 default 값으로 설정됩니다.

logical or operator (||)

falsy 값인 경우 기본값을 제공하는 연산자입니다.
즉, 개발자의 의도와 맞지 않게 false, 0, '', NaN 과 같은 값에서도 default 값으로 설정될 수 있습니다.

const value = 0 || "default"; // default
const value = 0 ?? "default"; // 0

strictNullChecks 설정

tsconfig.json 파일 strictNullChecks 옵션을 true로 설정해두시는 것을 추천드립니다.
TypeScript가 더 엄격하게 null, undefined 값을 검사합니다.

반응형