javascript

Airbnb JavaScript 风格指南() {

使用 JavaScript 最合理的方式

注意: 这个指南假定你正在使用 Babel,并且需要你使用 babel-preset-airbnb 或与其等效的预设。同时假定你在你的应用里安装了 带有 airbnb-browser-shims 或与其等效的插件的 shims/polyfills

Downloads Downloads Gitter

这个指南支持的其他语言翻译版请看 Translation

其他风格指南:

目录

类型

⬆ 回到顶部

引用

⬆ 返回顶部

对象

  // very bad
  const original = { a: 1, b: 2 };
  const copy = Object.assign(original, { c: 3 }); // 改了 `original` ಠ_ಠ
  delete copy.a; // so does this

  // bad
  const original = { a: 1, b: 2 };
  const copy = Object.assign({}, original, { c: 3 }); // copy => { a: 1, b: 2, c: 3 }

  // good es6 扩展运算符 ...
  const original = { a: 1, b: 2 };
  // 浅拷贝
  const copy = { ...original, c: 3 }; // copy => { a: 1, b: 2, c: 3 }

  // rest 解构运算符
  const { a, ...noA } = copy; // noA => { b: 2, c: 3 }

⬆ 返回顶部

数组

⬆ 返回顶部

解构

⬆ back to top

字符串

⬆ 返回顶部

函数

⬆ 返回顶部

箭头函数

⬆ 返回顶部

类与构造函数

⬆ 返回顶部

模块

⬆ 返回顶部

迭代器与生成器

⬆ 返回顶部

属性

⬆ 返回顶部

变量

⬆ 返回顶部

提升

⬆ 返回顶部

比较运算符与相等

⬆ back to top

⬆ 返回顶部

控制语句

⬆ 返回顶部

注释

⬆ 返回顶部

空格

⬆ 返回顶部

逗号

⬆ 返回顶部

分号

⬆ 返回顶部

类型转换与强制转换

⬆ 返回顶部

命名规范

⬆ 返回顶部

Get-Set 访问器

⬆ 返回顶部

事件

⬆ 返回顶部

jQuery

⬆ back to top

ECMAScript 5 兼容性

⬆ 返回顶部

ECMAScript 6+ (ES 2015+) 风格

  1. 箭头函数——Arrow Functions
  2. 类——Classes
  3. 对象缩写——Object Shorthand
  4. 对象简写——Object Concise
  5. 对象计算属性——Object Computed Properties
  6. 模板字符串——Template Strings
  7. 解构赋值——Destructuring
  8. 默认参数——Default Parameters
  9. 剩余参数——Rest
  10. 数组拓展——Array Spreads
  11. Let and Const
  12. 幂操作符——Exponentiation Operator
  13. 迭代器和生成器——Iterators and Generators
  14. 模块——Modules

⬆ 回到顶部

标准库

标准库中包含一些功能受损但是由于历史原因遗留的工具类

测试

⬆ 回到顶部

性能

⬆ back to top

资源

Learning ES6

Read This

Tools

Other Style Guides

Other Styles

Further Reading

Books

Blogs

Podcasts

⬆ back to top

In the Wild

This is a list of organizations that are using this style guide. Send us a pull request and we’ll add you to the list.

⬆ back to top

Translation

This style guide is also available in other languages:

The JavaScript Style Guide Guide

Chat With Us About JavaScript

Contributors

License

(The MIT License)

Copyright (c) 2012 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.

⬆ back to top

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.

};