编写最少的 ES6 代码,快乐编码👨‍💻

2025-06-07

编写最少的 ES6 代码

编码愉快👨‍💻

在瞬息万变的 JavaScript 生态系统中,设计简洁高效的代码比以往任何时候都更加重要。ES6 的发布引入了一系列新功能,简化并精简了 JavaScript 的编写方式。本文探讨了各种新的 ES6 方法,它们可以取代老旧、冗长的模式,从而生成更简洁、更易读的代码。从布尔类型转换到强大的展开运算符,这些策略提高了代码的可读性、效率和可维护性。让我们来看看 JavaScript 编写者在构建精简 ES6 代码时应该遵循的一些基本技巧。

1. 布尔转换

根据 Airbnb 风格指南,今天推荐的方法

const age = Boolean(input.value) //old
Enter fullscreen mode Exit fullscreen mode
const age = !!input.value //new
Enter fullscreen mode Exit fullscreen mode

2. 空值合并

当左侧操作数为空或未定义时,返回其右侧

//old
const addId = (user, id) => {
     user.id = 
          id !== null && id !== undefined
               ? id
               : "Unknown"
     return user
}
Enter fullscreen mode Exit fullscreen mode
//new
const addId = (user, id) => {
     user.id = id ?? "Unknown"
     return user
}
Enter fullscreen mode Exit fullscreen mode

3.默认参数

描述:函数参数默认为未定义,因此为这种可能性设置一个值很有用。

//old
const createUser = (name, email) => {
     const user = {
          email,
          name: name ?? "Unknown",
     }
     // create user
}
Enter fullscreen mode Exit fullscreen mode
//new
const createUser = (
     name = "Unknown",
     email
) => {
     const user = { email, name }
     // create user
}
Enter fullscreen mode Exit fullscreen mode

4. 可选链式调用

描述:允许您读取深度嵌套属性的值,而无需检查它是否是有效链。

//old
const hasValidPostcode = u => 
     u &&
     u.address &&
     u.address.postcode &&
     u.address.postcode.valid
Enter fullscreen mode Exit fullscreen mode
//new
const hasValidPostcode = u => u?.address?.postcode?.valid
Enter fullscreen mode Exit fullscreen mode

5. 解构对象

描述:通过将对象的属性解包到不同的变量中来编写更少的代码。

//old
const save = params => {
     saveData(
          params.name,
          params.email,
          params.dob
     )
}
Enter fullscreen mode Exit fullscreen mode
//new
const save = ({name, email, dob}) => {
     saveData(name, email, dob)
}
Enter fullscreen mode Exit fullscreen mode

6. 解构数组

描述:通过将数组中的值解包到不同的变量中来编写更少的代码。

//old
const data = [
     ["axios", "recharts"],
     ["flocked", "flick"]
]

const plugins = data[0], apps = data[1]
Enter fullscreen mode Exit fullscreen mode
//new
const data = [
     ["axios", "recharts"],
     ["flocked", "flick"]
]

const [plugins, apps] = data
Enter fullscreen mode Exit fullscreen mode

7. 扩展运算符

描述:使用这个很酷的语法将两个对象合并为一个,在编码对象时也非常干净。

//old
const details = {name: "Man Utd"}
const stats = {games: 7, points: 21}

const team = Object.assign(
     {},
     details,
     stats
)
Enter fullscreen mode Exit fullscreen mode
//new
const details = {name: "Man Utd"}
const stats = {games: 7, points: 21}

const team = {
     ...details,
     ...stats
}
Enter fullscreen mode Exit fullscreen mode

8. For(of)

描述:可以说所需的代码量相同,但 for(of) 比 forEach 快 24%。

//old
const array = []
const fillArray = items => {
     items.forEach(i => array.push(i))
}
Enter fullscreen mode Exit fullscreen mode
//new
const array = []
const fillArray = items => {
     for (let i of items) {
          array.push(i)
     }
}
Enter fullscreen mode Exit fullscreen mode

结论

总而言之,使用 ES6 功能可以显著简化你的 JavaScript 代码,使其更简洁、更易读、更高效。整合这些现有方法将使代码更简洁、更易于维护,从而提升开发效率和性能。实施这些方法可以提高你的代码规范并简化你的任务。

编码愉快👨‍💻

文章来源:https://dev.to/mursalfk/write-minimal-es6-code-1o81
PREV
如何使用 JavaScript 制作二维码生成器?
NEXT
每个开发人员都应该知道的 VS Code 快捷键(Windows)