공유/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 값을 검사합니다.
반응형