generated at
Type Predicates




type Predicatesも推論される
TypeScript v5.5で入った ref
わざわざx is Tのように書かなくても良い
ts
// const isNumber: (x: unknown) => x is number const isNumber = (x: unknown) => typeof x === 'number'; // const isNonNullish: <T>(x: T) => x is NonNullable<T> const isNonNullish = <T,>(x: T) => x != null;
推論される条件
その関数の返り値の型を明示的に指定していない
関数内の return は1つである
その関数は引数の上書きをしない
その関数は、引数の絞り込みに関連したbooleanを返している
↑この条件だと、もうほぼx is Tと書く機会はなくなりそうだなmrsekut





is を使って自作TypeGuradなるものを作る
返り値の型は boolean を定義する
is は実装によらず、その型になるので注意
ts
export const notEmpty = <Value>( value: Value | null | undefined, ): value is Value => value != null;

安全に