找出回调函数的对象是否是ES6箭头

find out if the of the callback function is an ES6 arrow

本文关键字:是否是 ES6 箭头 对象 回调 函数      更新时间:2023-09-26

由于正常和ES6箭头函数之间的上下文差异很大,我希望能够找出哪一个是在回调fn上收到的。

typeof将同时返回function。有办法区分吗?

箭头函数不能作为构造函数使用,不能将typeof arrowFunc.prototype显示为undefined,而非箭头函数显示为"object"

您可以使用Function.toString()返回函数源代码的字符串表示形式,然后在字符串中查找箭头(=>)。

var arrowFunc = x => 2 * x
var regFunc = function (x) {return 2 * x}
arrowFunc.toString().indexOf("=>") // 2
regFunc.toString().indexOf("=>") // -1