Home

Awesome

Airbnb JavaScript Style Guide() {

一份彙整了在 JavasScript 中被普遍使用的風格指南。

Downloads Gitter

其他風格指南

翻譯自 Airbnb JavaScript Style Guide

<a name="table-of-contents"></a>

目錄

  1. 資料型態
  2. 參考
  3. 物件
  4. 陣列
  5. 解構子
  6. 字串
  7. 函式
  8. 箭頭函式
  9. 建構子
  10. 模組
  11. 迭代器及產生器
  12. 屬性
  13. 變數
  14. 提升
  15. 條件式與等號
  16. 區塊
  17. 控制陳述式
  18. 註解
  19. 空格
  20. 逗號
  21. 分號
  22. 型別轉換
  23. 命名規則
  24. 存取器
  25. 事件
  26. jQuery
  27. ECMAScript 5 相容性
  28. ECMAScript 6 風格
  29. 標準程式庫
  30. 測試
  31. 效能
  32. 資源
  33. 誰在使用
  34. 翻譯
  35. JavaScript 風格指南
  36. 和我們討論 Javascript
  37. 貢獻者
  38. 授權許可
  39. Amendments

<a name="types"></a>

資料型態

⬆ 回到頂端

<a name="references"></a>

參考

⬆ 回到頂端

<a name="objects"></a>

物件

<a name="es6-computed-properties"></a>

<a name="es6-object-shorthand"></a>

<a name="es6-object-concise"></a>

⬆ 回到頂端

<a name="arrays"></a>

陣列

<a name="es6-array-spreads"></a>

⬆ 回到頂端

<a name="destructuring"></a>

解構子

⬆ 回到頂端

<a name="strings"></a>

字串

<a name="es6-template-literals"></a>

⬆ 回到頂端

<a name="functions"></a>

函式

<a name="es6-rest"></a>

<a name="es6-default-parameters"></a>

⬆ 回到頂端

<a name="arrow-functions"></a>

箭頭函式

⬆ 回到頂端

<a name="constructors"></a>

建構子

⬆ 回到頂端

<a name="modules"></a>

模組

⬆ 回到頂端

<a name="iterators-and-generators"></a>

迭代器及產生器

⬆ 回到頂端

<a name="properties"></a>

屬性

⬆ 回到頂端

<a name="variables"></a>

變數

⬆ 回到頂端

<a name="hoisting"></a>

提升

⬆ 回到頂端

<a name="comparison-operators--equality"></a>

條件式與等號

Comparison Operators & Equality

⬆ 回到頂端

<a name="blocks"></a>

區塊

⬆ 回到頂端

<a name="control-statements"></a>

控制陳述式

⬆ 回到頂端

<a name="comments"></a>

註解

⬆ 回到頂端

<a name="whitespace"></a>

空格

⬆ 回到頂端

<a name="commas"></a>

逗號

⬆ 回到頂端

<a name="semicolons"></a>

分號

⬆ 回到頂端

<a name="type-casting--coercion"></a>

型別轉換

⬆ 回到頂端

<a name="naming-conventions"></a>

命名規則

⬆ 回到頂端

<a name="accessors"></a>

存取器

⬆ 回到頂端

<a name="events"></a>

事件

⬆ 回到頂端

jQuery

⬆ 回到頂端

<a name="ecmascript-5-compatibility"></a>

ECMAScript 5 相容性

⬆ 回到頂端

<a name="ecmascript-6-styles"></a>

ECMAScript 6 風格

  1. 箭頭函式
  2. 類別
  3. 物件簡寫
  4. 簡潔物件
  5. 可計算的物件屬性
  6. 模板字串
  7. 解構子
  8. 預設參數
  9. 剩餘參數(Rest)
  10. 陣列擴展
  11. Let 及 Const
  12. 迭代器及產生器
  13. 模組

⬆ 回到頂端

<a name="standard-library"></a>

標準程式庫

標準程式庫(Standard Library)基於歷史因素,仍保有某些功能有缺陷的函式。

⬆ 回到頂端

<a name="testing"></a>

測試

⬆ 回到頂端

<a name="performance"></a>

效能

⬆ 回到頂端

<a name="resources"></a>

資源

學習 ES6

請讀這個

工具

其他的風格指南

其他風格

瞭解更多

書籍

部落格

Podcasts

⬆ 回到頂端

<a name="in-the-wild"></a>

誰在使用

這是正在使用這份風格指南的組織列表。送一個 pull request 後我們會將你增加到列表上。

⬆ 回到頂端

<a name="translation"></a>

翻譯

This style guide is also available in other languages:

<a name="the-javascript-style-guide-guide"></a>

JavaScript 風格指南

<a name="chat-with-us-about-javascript"></a>

與我們討論 JavaScript

<a name="contributors"></a>

貢獻者

License

(The MIT License)

Copyright (c) 2014-2016 Airbnb

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

⬆ 回到頂端

Amendments

We encourage you to fork this guide and change the rules to fit your team's style guide. Below, you may list some amendments to the style guide. This allows you to periodically update your style guide without having to deal with merge conflicts.

};