Skip to content

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

Open Source Code

Released under the Apache-2.0 License.