登录 注册

javascript (JavaScript 代码风格指南)

去点 Star
开发者工具 arrow-functionses2015es2016es2017es2018es6
148,011
Stars
26,514
Forks
3,640
Watchers
169
Open Issues
MIT
许可证
JavaScript
语言
2012-11-01
创建时间
2026-04-16
最近更新

项目能做什么

JavaScript 代码风格指南。
来源:基于仓库元数据 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

Airbnb JavaScript Style Guide 中文使用说明

项目简介

airbnb/javascript 是由 Airbnb 维护的一套广受欢迎的 JavaScript 代码风格规范(JavaScript Style Guide)。其目标是提供一种合理、清晰且不易出错的 JavaScript 编写方式。该规范不仅涵盖语法使用指南,还对应提供了官方的 ESLint 配置包(如 eslint-config-airbnb 和 eslint-config-airbnb-base),方便开发者在项目中自动进行代码规范检查。

核心功能

  • 全面的代码规范指南:覆盖数据类型(Types)、变量引用(References)、对象(Objects)、数组、解构、函数与箭头函数、模块(Modules)等近 40 个维度的编写建议与最佳实践。
  • 规则附带原因与反例:每个小项均明确说明“为什么这样写(Why)”,并提供清晰的 // bad 与 // good 代码对比。
  • ESLint 规则映射:规范条目直接关联对应的 ESLint 规则(如 prefer-const、no-var、no-new-object 等),方便快速配置自动化校验。
  • 扩展指南集成:包含或链接至针对 React、CSS-in-JavaScript、CSS & Sass、Ruby 等生态的专项规范。

适合谁用

  • 想要规范个人或团队 JavaScript/ES6+ 编码习惯的前端及全栈开发者。
  • 准备在项目中引入 ESLint 并寻求行业成熟校验规则集的团队。

安装步骤

说明:当前 README 原文主要展示编码规范正文,未在正文中直接提供完整的终端安装命令。具体安装及集成命令请查看原仓库或对应 npm 包(如 eslint-config-airbnb、eslint-config-airbnb-base)的文档说明。

配置说明

根据 README 的前提说明,该规范的使用建立在以下环境假设之上: 1. 转译工具:假设项目中使用了 Babel,并要求配合使用 babel-preset-airbnb 或同等配置。 2. 兼容垫片(Polyfills):假设在应用中安装了垫片库,例如使用 airbnb-browser-shims 或同等实现。 3. 环境约束:symbol 和 bigint 无法被完全 polyfill,因此在目标运行环境原生不支持时,不应使用。

(注:详细的 ESLint 配置文件设置及参数,原文未详细展开,请查看原仓库及其 npm 发布包)

常见问题

  • 变量声明应该优先用哪个?
  • 强制所有引用优先使用 const,禁止使用 var(避免变量被意外重新赋值引入 bug)。
  • 若确实需要重新赋值,使用块级作用域的 let,同样禁止使用函数级作用域的 var。
  • 创建对象推荐使用什么语法?
  • 推荐使用字面量语法(const item = {};),避免使用构造函数 new Object()。
原始 README 摘录(英文原文,节选前 3000 字符)
# Airbnb JavaScript Style Guide() {

*A mostly reasonable approach to JavaScript*

> **Note**: this guide assumes you are using [Babel](https://babeljs.io), and requires that you use [babel-preset-airbnb](https://npmjs.com/babel-preset-airbnb) or the equivalent. It also assumes you are installing shims/polyfills in your app, with [airbnb-browser-shims](https://npmjs.com/airbnb-browser-shims) or the equivalent.

[![Downloads](https://img.shields.io/npm/dm/eslint-config-airbnb.svg)](https://www.npmjs.com/package/eslint-config-airbnb)
[![Downloads](https://img.shields.io/npm/dm/eslint-config-airbnb-base.svg)](https://www.npmjs.com/package/eslint-config-airbnb-base)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/airbnb/javascript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

This guide is available in other languages too. See [Translation](#translation)

Other Style Guides

  - [ES5 (Deprecated)](https://github.com/airbnb/javascript/tree/es5-deprecated/es5)
  - [React](react/)
  - [CSS-in-JavaScript](css-in-javascript/)
  - [CSS & Sass](https://github.com/airbnb/css)
  - [Ruby](https://github.com/airbnb/ruby)

## Table of Contents

  1. [Types](#types)
  1. [References](#references)
  1. [Objects](#objects)
  1. [Arrays](#arrays)
  1. [Destructuring](#destructuring)
  1. [Strings](#strings)
  1. [Functions](#functions)
  1. [Arrow Functions](#arrow-functions)
  1. [Classes & Constructors](#classes--constructors)
  1. [Modules](#modules)
  1. [Iterators and Generators](#iterators-and-generators)
  1. [Properties](#properties)
  1. [Variables](#variables)
  1. [Hoisting](#hoisting)
  1. [Comparison Operators & Equality](#comparison-operators--equality)
  1. [Blocks](#blocks)
  1. [Control Statements](#control-statements)
  1. [Comments](#comments)
  1. [Whitespace](#whitespace)
  1. [Commas](#commas)
  1. [Semicolons](#semicolons)
  1. [Type Casting & Coercion](#type-casting--coercion)
  1. [Naming Conventions](#naming-conventions)
  1. [Accessors](#accessors)
  1. [Events](#events)
  1. [jQuery](#jquery)
  1. [ECMAScript 5 Compatibility](#ecmascript-5-compatibility)
  1. [ECMAScript 6+ (ES 2015+) Styles](#ecmascript-6-es-2015-styles)
  1. [Standard Library](#standard-library)
  1. [Testing](#testing)
  1. [Performance](#performance)
  1. [Resources](#resources)
  1. [In the Wild](#in-the-wild)
  1. [Translation](#translation)
  1. [The JavaScript Style Guide Guide](#the-javascript-style-guide-guide)
  1. [Chat With Us About JavaScript](#chat-with-us-about-javascript)
  1. [Contributors](#contributors)
  1. [License](#license)
  1. [Amendments](#amendments)

## Types

  <a name="types--primitives"></a><a name="1.1"></a>
  - [1.1](#types--primitives) **Primitives**: When you access a primitive type you work directly on its value.

    - `string`
    - `number`
    - `boolean`
    - `null`
    - `undefined`
    - `symbol`
    - `bigint`

    <br />

    ```javascript
    const foo = 1;
    let bar = foo;

    bar = 9;
阅读完整原文

商业机会分析 规则生成(AI 未配置)

综合评分 54.5 分。该项目在“个人可实施性”维度得 60 分,“付费可能性”维度得 40.0 分,差异化空间 70.0 分(评分依据见评分卡)。

将 javascript 改造为垂直场景 SaaS

产品构想保留核心能力,针对某一类用户(如某行业团队)做托管版,收取月费。
目标用户有该需求的中小团队 / 独立站长
难度/周期中 · 2~4 周(MVP)
收费模式订阅制(如 ¥29~99/月)
竞争风险需验证付费意愿;注意许可证合规
依据 数据支持的判断:许可证与关键词显示存在商用与付费场景

面向细分需求的二次开发产品

产品构想基于 javascript 的核心能力,聚焦一个更窄的场景(如某平台、某行业)做差异化。
目标用户该细分场景用户
难度/周期中 · 2~6 周
收费模式买断制 / 订阅制 / 广告
竞争风险细分需求规模需验证
依据 AI 推测:基于项目主题标签的判断

封装为在线小工具或 API 服务

产品构想把项目最常用的一个功能做成网页小工具,靠流量变现或按量计费。
目标用户搜索引擎带来的长尾用户
难度/周期低 · 1~3 周
收费模式免费引流 + 增值功能 / API 按量计费
竞争风险同质化竞争,需做好 SEO
依据 AI 推测:基于技术栈与部署特征的判断
以上为规则引擎基于仓库公开数据生成的参考结论,包含推测成分,不构成投资或创业承诺;配置 AI 后可获得更深入的分析。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

项目中文简介Stars语言
Asabeneh/JavaScript-for-Everyone 中文介绍暂未生成
A step by step guide to learn JavaScript and programming. Th
1,237 JavaScript
fsprojects/FSharpPlus 中文介绍暂未生成
Extensions for F#
942 F#
leonidlebedev/javascript-airbnb 中文介绍暂未生成
Перевод «JavaScript Style Guide» от Airbnb
928 -
parksb/javascript-style-guide 中文介绍暂未生成
Airbnb JavaScript 스타일 가이드
431 -
getify/eslint-plugin-proper-arrows 中文介绍暂未生成
ESLint rules to ensure proper arrow function definitions
311 JavaScript
Sfedfcv/redesigned-pancake 中文介绍暂未生成
Skip to content github / docs Code Issues 80 Pull requests 3
278 -
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。

项目优势与风险

技术成熟度创建于 2012-11-01,最近推送 2026-04-16
社区活跃Star 148,011 / Fork 26,514 / Issue 169(数据支持,可自行核实)
许可证MIT
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

快速开始(以仓库 README 为准)
git clone https://github.com/airbnb/javascript.git
cd javascript
# 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
阅读原仓库文档
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。