Vue中文社区

10个JavaScript 简写技巧:提升代码80%效率

1. 短路求值替代条件语句

// 传统写法
let name;
if (username) {
  name = username;
} else {
  name = '匿名用户';
}

// 简写写法
const name = username || '匿名用户';

使用逻辑或运算符设置默认值,当左侧值为假值时,返回右侧的默认值。

2. 模板字符串替代字符串拼接

// 传统写法
const greeting = '你好,' + name + '!欢迎来到' + site + '。';

// 简写写法
const greeting = `你好,${name}!欢迎来到${site}。`;

模板字符串使用反引号包裹,通过${}插入变量或表达式,使字符串拼接更加直观。

3. 解构赋值简化变量声明

// 传统写法
const firstName = person.firstName;
const lastName = person.lastName;
const age = person.age;

// 简写写法
const { firstName, lastName, age } = person;

// 函数参数解构
functiongetUserInfo({ name, age, location }) {
return`${name}今年${age}岁,来自${location}`;
}

解构赋值可以从数组或对象中提取值,并赋值给变量,大大简化了代码。

4. 展开运算符的多种用途

// 数组合并
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combined = [...arr1, ...arr2];

// 对象合并
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const merged = { ...obj1, ...obj2 };

// 函数参数
const numbers = [1, 2, 3, 4, 5];
Math.max(...numbers);

展开运算符(...)可以将可迭代对象展开,适用于数组、对象和函数参数等多种场景。

5. 箭头函数简化函数定义

// 传统写法
const multiply = function(a, b) {
return a * b;
};

// 简写写法
const multiply = (a, b) => a * b;

// 数组方法中使用
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(n => n * 2);

箭头函数提供了更简洁的函数语法,并且自动绑定this值,特别适合在数组方法中使用。

6. 可选链操作符避免深层判断

// 传统写法
const street = user && user.address && user.address.street;

// 简写写法
const street = user?.address?.street;

// 函数调用也可使用
const result = obj.method?.();

可选链操作符(?.)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。

7. 空值合并运算符提供默认值

// 传统写法
const value = input !== null && input !== undefined ? input : 'default';

// 简写写法
const value = input ?? 'default';

// 与可选链结合使用
const name = user?.name ?? '匿名用户';

空值合并运算符(??)是一个逻辑运算符,当左侧的操作数为null或undefined时,返回其右侧操作数,否则返回左侧操作数。

8. 使用 includes 方法简化条件判断

// 传统写法
if (value === 1 || value === 2 || value === 3) {
// ...
}

// 简写写法
if ([1, 2, 3].includes(value)) {
// ...
}

includes()方法用来判断一个数组是否包含一个指定的值,返回true或false,简化多重条件判断。

9. 指数运算符简化幂运算

// 传统写法
const squared = Math.pow(2, 3); // 8

// 简写写法
const squared = 2 ** 3; // 8

指数运算符(**)返回第一个操作数做底数,第二个操作数做指数的乘方结果,语法更加简洁。

10. 对象属性简写

// 传统写法
const name = '张三';
const age = 25;

const person = {
name: name,
age: age,
sayHello: function() {
console.log('你好');
  }
};

// 简写写法
const person = {
  name,
  age,
  sayHello() {
console.log('你好');
  }
};

当对象属性名与变量名相同时,可以省略冒号和值;方法定义也可以省略function关键字。

总结

掌握这些 JavaScript 简写技巧不仅能提高开发效率,还能让代码更加简洁、易读和易于维护。不过需要注意的是,简洁并不总是意味着更好,在某些情况下,为了代码的清晰性,使用更明确的写法可能更合适。

希望这些技巧能帮助你在日常开发中写出更优雅的 JavaScript 代码!