isFunction()
function isFunction(value): value is AnyFunction;
Defined in: types/isFunction.ts:29
检查值是否为函数类型 使用多种方式判断,包括检查constructor、call和apply方法
Parameters
| Parameter | Type | Description |
|---|---|---|
value | any | 要检查的值 |
Returns
value is AnyFunction
如果值是函数则返回true,否则返回false
Examples
isFunction(() => {}); // 返回 true(箭头函数)
isFunction(function() {}); // 返回 true(普通函数)
isFunction(class {}); // 返回 true(类构造函数)
isFunction({}.toString); // 返回 true(对象方法)
isFunction('function'); // 返回 false(字符串不是函数)
isFunction(null); // 返回 false(null不是函数)
isFunction(undefined); // 返回 false(undefined不是函数)
isFunction(new Date()); // 返回 false(日期对象不是函数)
**Note:** 函数使用多个条件判断:存在性检查、constructor检查、call和apply方法检查
**Note:** 与typeof的区别:对于某些特殊对象,typeof可能返回'function'但isFunction返回false
**Note:** 该实现能够正确识别大多数函数类型,包括普通函数、箭头函数、类和对象方法