缩进:使用 2 个空格 作为缩进,禁止使用 Tab。
空格:
在操作符前后添加空格,如 a + b
。
在逗号后添加空格,如 function(a, b, c)
。
在花括号前添加空格,如 if (condition) {
。
在注释符 //
后添加空格,如 // 注释
。
每行代码长度:不超过 80 个字符,超出时换行。
换行规则:
在操作符后换行。
在逗号后换行。
保持代码块清晰,避免过度换行。
const result = someVeryLongFunctionName(argument1, argument2, argument3) .then(data => { // 处理数据 }) .catch(error => { // 处理错误 }); |
变量和函数:使用 camelCase
命名法,如 userName
、getUserInfo
。
常量:使用 UPPER_SNAKE_CASE
命名法,如 MAX_COUNT
。
类:使用 PascalCase
命名法,如 UserModel
。
私有成员:使用 _
前缀,如 _privateMethod
。
const MAX_COUNT = 100; function getUserInfo(userId) { // 逻辑 } class UserModel { constructor() { this._privateProperty = 'private'; } _privateMethod() { // 私有方法 } } |
使用 单引号 '
作为字符串的引号,除非字符串中包含单引号。
const name = 'John'; const message = "He's a developer"; |
必须使用分号,避免因自动插入分号导致的潜在问题。
const a = 1; const b = 2; |
始终使用花括号,即使代码块只有一行。
if (condition) { doSomething(); } |
单行注释:使用 //
,注释内容与符号之间保留一个空格。
多行注释:使用 /* ... */
。
函数注释:使用 JSDoc 格式。
/ 单行注释 /* * 多行注释 */ /** * 获取用户信息 * @param {string} userId - 用户 ID * @returns {Object} 用户信息 */ function getUserInfo(userId) { // 逻辑 } |