isNil
값이 null
또는 undefined
인지 확인하는 타입 가드 함수입니다.
Signatures
function isNil<T>(value: T | null | undefined): value is null | undefined;
Parameters
이름 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
value | T | null | undefined | 검사할 값 | ✓ |
Returns
boolean
- 값이 null
또는 undefined
이면 true
, 그 외의 경우 false
Type Guard
이 함수는 TypeScript의 타입 가드로 동작합니다. 조건문에서 사용할 경우 value
의 타입을 null | undefined
로 좁혀줍니다.
사용 예시
import { isNil } from '@teamsparta/utils';
// 기본 사용
isNil(null); // true
isNil(undefined); // true
isNil(void 0); // true
// 다른 타입의 값
isNil(0); // false
isNil(''); // false
isNil(false); // false
isNil(NaN); // false
isNil({}); // false
isNil([]); // false
// 타입 가드로 사용
const value: string | null | undefined = Math.random() > 0.5 ? 'hello' : null;
if (!isNil(value)) {
// 이 블록 안에서 value는 string 타입으로 추론됨
console.log(value.toUpperCase());
}
// 옵셔널 체이닝 대신 사용
const obj: { data?: { id: number } | null } = {};
if (!isNil(obj.data)) {
// 이 블록 안에서 obj.data는 { id: number } 타입으로 추론됨
console.log(obj.data.id);
}