Ecmascript 6 在ES6中,ES5函数声明仍然是;“正确的”吗;?
在ES6中,我们能够执行箭头函数表达式:Ecmascript 6 在ES6中,ES5函数声明仍然是;“正确的”吗;?,ecmascript-6,Ecmascript 6,在ES6中,我们能够执行箭头函数表达式: let apples = () => { ... 但是没有对函数声明进行任何处理: function apples() { ... 考虑到这两种函数之间的差异,在ES6代码中对函数使用“function apples(){…”是否仍然合适?简单回答:是 就像工具箱中的各种工具一样,您使用正确的工具来完成正确的工作。标准函数仍然有效,并且可能只要JavaScript存在,就可能是这样 正确使用箭头函数非常棒。但我经常看到人们使用箭头函数只是为了停
let apples = () => { ...
但是没有对函数声明进行任何处理:
function apples() { ...
考虑到这两种函数之间的差异,在ES6代码中对函数使用“function apples(){…”是否仍然合适?简单回答:是
就像工具箱中的各种工具一样,您使用正确的工具来完成正确的工作。标准函数仍然有效,并且可能只要JavaScript存在,就可能是这样
正确使用箭头函数非常棒。但我经常看到人们使用箭头函数只是为了停止键入单词function
。我在有意义时使用箭头函数,但我也使用function
对我来说:
let fnName = () => {}
这似乎很愚蠢:
let fnName = function fnName() {}
更愚蠢,但我一直都能看到
您必须注意箭头函数上的指针,因为它们与定义它们时定义它们的代码相同
正如我在上面的回复中提到的,这是一篇关于不使用箭头函数的原因的好文章:
下面是另外两篇关于箭头函数使用的文章:
在我看来,当你需要这个
指针保证时,你应该只使用你的第一种风格让fnName=()=>{}
。一个通用的函数
只是一个函数,除非它需要这个
指针保证,否则坚持使用#2函数fnName(){}
Arrow函数非常适合匿名函数,但请记住,声明函数时,无论这个
指针是什么,这个指针都将位于Arrow函数中。下面是一篇很好的文章,解释了Arrow函数的一些隐藏陷阱,以及为什么我没有像其他函数那样经常使用它们:(不,不是我写的。)