在 ES6 中,ES5 函数声明仍然"proper" ?



在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/

最新更新