isNotNil

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

Signatures

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

Parameters

이름타입설명필수 여부
valueT | null | undefined검사할 값

Returns

boolean - 값이 null 또는 undefined가 아니면 true, 그 외의 경우 false

Type Guard

이 함수는 TypeScript의 타입 가드로 동작합니다. 조건문에서 사용할 경우 value의 타입을 T로 좁혀줍니다.

사용 예시

import { isNotNil } from '@teamsparta/utils';
 
// 기본 사용
isNotNil(null); // false
isNotNil(undefined); // false
isNotNil(0); // true
isNotNil(''); // true
isNotNil(false); // true
isNotNil({}); // true
 
// 타입 가드로 사용
const values: (string | null | undefined)[] = [
  'hello',
  null,
  'world',
  undefined,
];
const validValues = values.filter(isNotNil); // validValues의 타입은 string[]
 
// 옵셔널 체이닝 대신 사용
interface User {
  profile?: {
    name: string;
  } | null;
}
 
const user: User = { profile: { name: 'John' } };
if (isNotNil(user.profile)) {
  console.log(user.profile.name); // 이 블록 안에서 user.profile은 { name: string } 타입
}