在日常的JavaScript开发中,通过采用一些简洁的语法特性,可以显著提升代码的书写效率和可读性。以下是5个实用的代码优化技巧,帮助你写出更优雅的代码。
技巧1:赋值运算符缩写法
使用复合赋值运算符(+=、-=、*=等)或自增/自减运算符,可以简化对变量自身的数学运算操作。
// 常规写法
test1 = test1 + 1;
test2 = test2 - 1;
test3 = test3 * 20;
// 优雅写法
test1++;
test2--;
test3 *= 20;
技巧2:同时为多个变量赋值
利用数组的解构赋值,可以在一行代码内同时为多个变量进行初始化,避免冗长的声明和赋值语句。
// 常规写法
let test1, test2, test3;
test1 = 1;
test2 = 2;
test3 = 3;
// 优雅写法
let [test1, test2, test3] = [1, 2, 3];
技巧3:利用默认参数进行函数参数校验
通过为函数参数设置默认值(该默认值可以是一个执行校验的函数),可以在参数缺失或无效时立即抛出错误,实现简洁的校验逻辑。
// 常规写法
let findStudentByAge = (arr, age) => {
if (!age) throw new Error('参数不能为空')
return arr.filter(num => num === age)
}
// 优雅写法
let checkoutType = () => {
throw new Error('参数不能为空')
}
let findStudentByAge = (arr, age = checkoutType()) =>
arr.filter(num => num === age)
技巧4:使用箭头函数简化回调
在处理数组方法(如filter、map)或定义简洁的函数表达式时,使用箭头函数可以让代码更加紧凑,并自动绑定this上下文。
let arr = [18, 19, 20, 21, 22]
// 常规写法
function findStudentByAge (arr, age) {
return arr.filter(function (num) {
return num === age
})
}
// 优雅写法
let findStudentByAge = (arr, age) => arr.filter(num => num === age)
技巧5:使用模板字符串进行拼接
相较于传统的+号拼接,模板字符串使用反引号和${}占位符,使字符串拼接的意图更清晰,尤其是在嵌入变量和表达式时。
const person = {
name: 'Symbol(王独秀)',
age: 18
}
// 常规写法
function sayHi (obj) {
console.log('大家好,我叫' + person.name + ',我今年' + person.age + '了')
}
// 优雅写法1:直接引用对象属性
function sayHi (person) {
console.log(`大家好,我叫${person.name},我今年${person.age}了`)
}
// 优雅写法2:结合解构赋值,使模板更干净
function sayHi ({name, age}) {
console.log(`大家好,我叫${name},我今年${age}了`)
}