Ecmascript 6 在ES6中,ES5函数声明仍然是;“正确的”吗;?

Ecmascript 6 在ES6中,ES5函数声明仍然是;“正确的”吗;?,ecmascript-6,Ecmascript 6,在ES6中,我们能够执行箭头函数表达式: let apples = () => { ... 但是没有对函数声明进行任何处理: function apples() { ... 考虑到这两种函数之间的差异,在ES6代码中对函数使用“function apples(){…”是否仍然合适?简单回答:是 就像工具箱中的各种工具一样,您使用正确的工具来完成正确的工作。标准函数仍然有效,并且可能只要JavaScript存在,就可能是这样 正确使用箭头函数非常棒。但我经常看到人们使用箭头函数只是为了停

在ES6中,我们能够执行箭头函数表达式:

let apples = () => { ...
但是没有对函数声明进行任何处理:

function apples() { ...
考虑到这两种函数之间的差异,在ES6代码中对函数使用“function apples(){…”是否仍然合适?

简单回答:是

就像工具箱中的各种工具一样,您使用正确的工具来完成正确的工作。标准函数仍然有效,并且可能只要JavaScript存在,就可能是这样

正确使用箭头函数非常棒。但我经常看到人们使用箭头函数只是为了停止键入单词
function
。我在有意义时使用箭头函数,但我也使用
function

对我来说:

let fnName = () => {}
这似乎很愚蠢:

let fnName = function fnName() {}
更愚蠢,但我一直都能看到

您必须注意箭头函数上的
指针,因为它们与定义它们时定义它们的代码相同

正如我在上面的回复中提到的,这是一篇关于不使用箭头函数的原因的好文章:

下面是另外两篇关于箭头函数使用的文章:


在我看来,当你需要
这个
指针保证时,你应该只使用你的第一种风格
让fnName=()=>{}
。一个通用的
函数
只是一个函数,除非它需要
这个
指针保证,否则坚持使用#2
函数fnName(){}
Arrow函数非常适合匿名函数,但请记住,声明函数时,无论
这个
指针是什么,这个指针都将位于Arrow函数中。下面是一篇很好的文章,解释了Arrow函数的一些隐藏陷阱,以及为什么我没有像其他函数那样经常使用它们:(不,不是我写的。)