* [8.1](https://github.com/yuche/javascript#8.1)?當你必須使用函數表達式(或傳遞一個匿名函數)時,使用箭頭函數符號。
> 為什么?因為箭頭函數創造了新的一個?`this`?執行環境(譯注:參考?[Arrow functions - JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)?和?[ES6 arrow functions, syntax and lexical scoping](http://toddmotto.com/es6-arrow-functions-syntaxes-and-lexical-scoping/)),通常情況下都能滿足你的需求,而且這樣的寫法更為簡潔。
>
> 為什么不?如果你有一個相當復雜的函數,你或許可以把邏輯部分轉移到一個函數聲明上。
~~~
// bad
[1, 2, 3].map(function (x) {
return x * x;
});
// good
[1, 2, 3].map((x) => {
return x * x;
});
~~~
* [8.2](https://github.com/yuche/javascript#8.2)?如果一個函數適合用一行寫出并且只有一個參數,那就把花括號、圓括號和?`return`?都省略掉。如果不是,那就不要省略。
> 為什么?語法糖。在鏈式調用中可讀性很高。
>
> 為什么不?當你打算回傳一個對象的時候。
~~~
// good
[1, 2, 3].map(x => x * x);
// good
[1, 2, 3].reduce((total, n) => {
return total + n;
}, 0);
~~~
- 關于
- 1. 類型
- 2. 引用
- 3. 對象
- 4. 數組
- 5. 解構
- 6. 字符串
- 7. 函數
- 8. 箭頭函數
- 9. 構造函數
- 10. 模塊
- 11. Iterators & Generators
- 12. 屬性
- 13. 變量
- 14. 提升
- 15. 比較運算符 & 等號
- 16. 代碼塊
- 17. 注釋
- 18. 空白
- 19. 逗號
- 20. 分號
- 21. 類型轉換
- 22. 命名規則
- 23. 存取器
- 24. 事件
- 25. jQuery
- 26. ECMAScript 5 兼容性
- 27. ECMAScript 6 編碼規范
- 28. 測試
- 29. 性能
- 30. 資源
- 31. 使用人群
- 32. 翻譯
- 33. JavaScript 編碼規范說明
- 34. 一起來討論Javascript
- 35. Contributors
- 36. License