...
代码块 | ||
---|---|---|
| ||
/ 单行注释 /* * 多行注释 */ /** * 获取用户信息 * @param {string} userId - 用户 ID * @returns {Object} 用户信息 */ function getUserInfo(userId) { // 逻辑 } |
2. 变量与常量
2.1 变量声明
使用
const
声明常量,使用let
声明变量,避免使用var
。每个声明语句只声明一个变量。
代码块 | ||
---|---|---|
| ||
const MAX_COUNT = 100; let userName = 'John'; |
2.2 变量初始化
尽量在声明时初始化变量。
代码块 | ||
---|---|---|
| ||
let count = 0; const name = 'John'; |
2.3 避免全局变量
避免使用全局变量,尽量将变量限制在局部作用域内。
3. 函数规范
3.1 函数命名
使用
camelCase
命名法,函数名应清晰描述其功能。
代码块 | ||
---|---|---|
| ||
function calculateTotalPrice(items) { // 逻辑 } |
3.2 函数参数
参数数量不宜过多(建议不超过 5 个),过多时使用对象传递。
代码块 | ||
---|---|---|
| ||
function createUser({ name, age, email, address }) { // 逻辑 } |
3.3 箭头函数
优先使用箭头函数,尤其是回调函数和匿名函数。
代码块 | ||
---|---|---|
| ||
const numbers = [1, 2, 3]; const doubled = numbers.map(num => num * 2); |
3.4 默认参数
使用默认参数替代函数内部的默认值逻辑。
代码块 | ||
---|---|---|
| ||
function greet(name = 'Guest') { console.log(`Hello, ${name}`); } |
4. 对象与数组
4.1 对象字面量
使用字面量创建对象,避免使用
new Object()
。
代码块 | ||
---|---|---|
| ||
const user = { name: 'John', age: 30, }; |
4.2 对象属性
属性名使用
camelCase
命名法。动态属性名使用
[]
。
代码块 | ||
---|---|---|
| ||
const key = 'name'; const user = { [key]: 'John', }; |
4.3 数组字面量
使用字面量创建数组,避免使用
new Array()
。
代码块 | ||
---|---|---|
| ||
const numbers = [1, 2, 3]; |
4.4 数组方法
优先使用
map
、filter
、reduce
等函数式方法。
代码块 | ||
---|---|---|
| ||
const doubled = numbers.map(num => num * 2); |
5. 类与模块
5.1 类定义
使用
class
关键字定义类,避免使用原型链。
代码块 | ||
---|---|---|
| ||
class User {
constructor(name) {
this.name = name;
}
greet() {
console.log(`Hello, ${this.name}`);
}
} |
5.2 模块化
使用
ES Module
进行模块化开发。
代码块 | ||
---|---|---|
| ||
// user.js
export class User {
// 类定义
}
// main.js
import { User } from './user.js'; |
6. 异步编程
6.1 Promise
使用
Promise
处理异步操作,避免回调地狱。
代码块 | ||
---|---|---|
| ||
function fetchData() {
return new Promise((resolve, reject) => {
// 异步操作
});
} |
6.2 Async/Await
优先使用
async/await
替代Promise.then
。
代码块 | ||
---|---|---|
| ||
async function getUser() {
try {
const user = await fetchData();
console.log(user);
} catch (error) {
console.error(error);
}
} |
7. 错误处理
7.1 Try/Catch
使用
try/catch
捕获同步代码中的错误。
代码块 | ||
---|---|---|
| ||
try {
doSomething();
} catch (error) {
console.error(error);
} |
7.2 Promise 错误处理
使用
.catch()
或try/catch
捕获异步错误。
代码块 | ||
---|---|---|
| ||
fetchData()
.then(data => {
// 处理数据
})
.catch(error => {
console.error(error);
}); |