isNotNil
값이 null
또는 undefined
가 아닌지 확인하는 타입 가드 함수입니다.
Signatures
function isNotNil<T>(value: T | null | undefined): value is T;
Parameters
이름 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
value | T | 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 } 타입
}