在前端开发中,我们经常需要判断一个变量是否为函数或箭头函数。ES12 中新增了两个静态方法 isFunction()
和 isArrowFunction()
,让我们可以更方便地进行判断。
isFunction() 方法
isFunction()
方法用于判断一个变量是否为函数。
语法:Object.isFunction(value)
其中,value
参数为要判断的变量。
示例代码:
function foo() { console.log("hello world"); } const bar = () => { console.log("hello arrow function"); }; console.log(Object.isFunction(foo)); // true console.log(Object.isFunction(bar)); // true console.log(Object.isFunction("hello")); // false
在上面的代码中,我们定义了一个普通函数 foo
和一个箭头函数 bar
,然后使用 isFunction()
方法对它们进行判断。最后一个判断是判断字符串类型的变量,返回值为 false
。
isArrowFunction() 方法
isArrowFunction()
方法用于判断一个变量是否为箭头函数。
语法:Object.isArrowFunction(value)
其中,value
参数为要判断的变量。
示例代码:
function foo() { console.log("hello world"); } const bar = () => { console.log("hello arrow function"); }; console.log(Object.isArrowFunction(foo)); // false console.log(Object.isArrowFunction(bar)); // true console.log(Object.isArrowFunction("hello")); // false
在上面的代码中,我们同样定义了一个普通函数 foo
和一个箭头函数 bar
,然后使用 isArrowFunction()
方法对它们进行判断。最后一个判断同样是判断字符串类型的变量,返回值为 false
。
总结
ES12 中的静态方法 isFunction()
和 isArrowFunction()
可以方便地判断一个变量是否为函数或箭头函数,让我们在编写代码时更加高效。
以上示例代码和介绍仅供参考,具体的使用场景和效果还需要根据项目实践和需求进行具体调整和探索。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65a24129add4f0e0ffa57bff