我已经看过两种编写util函数的方法:
export function func1(arg1, arg2) {
// do something
}
和箭头功能版
export const func1 = (arg1, arg2) => {
// do something
};
为什么一个人使用一个而不是另一个?这仅仅是个人偏好的问题吗?
答案 0 :(得分:0)
箭头函数与函数声明/表达式具有不同的行为,因此我们先看一下差异:
Lexical this and arguments
箭头功能没有自己的这个或参数绑定。相反,这些标识符在词法范围内像任何其他变量一样被解析。这意味着在一个箭头函数中,这个和参数引用了这个和参数在箭头函数定义的环境中的值(即"外部"箭头函数):
无法使用新的
调用箭头功能ES2015区分可调用的函数和可构造的函数。如果函数是可构造的,则可以使用new调用它,即new User()。如果函数是可调用的,则可以在没有new的情况下调用它(即正常函数调用)。 通过函数声明/表达式创建的函数既可构造又可调用。 箭头函数(和方法)只能调用。类构造函数只能构造。还有很多其他的东西比如回调,原型等