在ES6中,我们具有执行箭头函数表达式的能力:
let apples = () => { ...
,但功能声明什么也没做:
function apples() { ...
给定两种函数之间的提升差异,使用'函数apples(){...'用于ES6代码中的函数仍然适当吗?
简单答案:是。
就像工具箱中的各种工具一样,您使用正确的工具来适合正确的作业。标准功能仍然有效,并且可能与JavaScript一样长。
正确使用时,箭头功能很棒。但是我经常看到有人在使用它们只是为了停止键入 function
一词。当有意义时,我使用箭头功能,但是我也使用function
。
对我来说:
let fnName = () => {}
似乎很愚蠢,这是:
let fnName = function fnName() {}
甚至更愚蠢,但我一直都看到它。
您确实必须了解箭头功能上的this
指针,因为它们与定义时定义它们的代码相同。
正如我在上面的回答中提到的,这是一篇很好的文章,内容涉及不是使用箭头函数的某些原因:
- http://wesbos.com/arrow-function-no-no/
,这里还有另外两篇有关箭头功能的文章:
- https://dmitripavlutin.com/when-not-to-use-row-functions-in-javascript/
- https://toddmotto.com/es6-arrow-functions-syntaxes-and-rexical-scoping/