Airbnb的ES6风格指南推荐功能

时间:2016-09-26 16:57:27

标签: javascript

参考样式指南中的第7.1节:

// bad
function foo() {
}

// good
const foo = function bar() {
};

我似乎无法理解第一个陈述到底出了什么问题? 怎么样不好? (fyi ..我确实理解第一个声明被悬挂而且#const不会被悬挂的区别。我不明白的是悬挂得不好?

1 个答案:

答案 0 :(得分:2)

AirBnB已经解释了为什么他们认为函数声明托管了一件坏事here

  

7.1使用命名函数表达式而不是函数声明。

     

为什么呢?函数声明被悬挂,这意味着它很容易 -   太容易了 - 在文件中定义之前引用该函数。   这会损害可读性和可维护性。如果你发现了   函数的定义很大或很复杂   干扰理解文件的其余部分,然后也许就是这样   是时候把它提取到自己的模块了!别忘了给这个命名   表达式 - 匿名函数可以使定位更难   错误调用堆栈中的问题。