isFunction() function
value が関数かどうかを確認します。
型ガードとして使用すると、ユニオン型から関数メンバーのみを抽出します。例えば number | (() => void) は () => void に絞り込まれます。
Signature:
typescript
isFunction: <T>(
input: T,
) => input is Extract<T, (...args: any[]) => unknown> extends never
? T & ((...args: any[]) => unknown)
: Extract<T, (...args: any[]) => unknown>Example
ts
isFunction(() => null); // true
isFunction(function () {}); // true
isFunction(class A {}); // true
isFunction({}); // false
isFunction(null); // false
isFunction("function"); // false