isNil

값이 null 또는 undefined인지 확인하는 타입 가드 함수입니다.

Signatures

function isNil<T>(value: T | null | undefined): value is null | undefined;

Parameters

이름타입설명필수 여부
valueT | 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);
}