JavaScript 实用方法

使用箭头函数

传统函数
js 复制代码
function add(a, b) {  return a + b;}
箭头函数
js 复制代码
const add = (a, b) => a + b;

对象属性简写

传统写法
js 复制代码
const name = 'John';
const person = {  name: name};
简洁写法
js 复制代码
const name = 'John';
const person = { name };

解构赋值

从对象中提取值
js 复制代码
const person = { name: 'Alice', age: 30 };
const { name, age } = person;
console.log(name, age);
从数组中提取值
js 复制代码
const arr = [1, 2, 3];
const [first, second, third] = arr;
console.log(first, second, third);

模板字符串

传统字符串拼接
js 复制代码
const name = 'Bob';
const message = 'Hello, ' + name + '!';
模板字符串
js 复制代码
const name = 'Bob';
const message = `Hello, ${name}!`;

可选链操作符(?.)

在访问可能为 null 或 undefined 的对象属性时,避免出现错误

传统方式
js 复制代码
const person = { address: { city: 'New York' } };
const city = person && person.address && person.address.city;
使用可选链:
js 复制代码
const city = person?.address?.city;

空值合并操作符(??)

当左侧的值为 null 或 undefined 时,返回右侧的值

传统方式
js 复制代码
const value = null;
const result = value!== null && value!== undefined? value : 'default';
使用空值合并操作符
js 复制代码
const result = value?? 'default';

使用扩展运算符(...)

数组复制 传统方式
js 复制代码
 const arr1 = [1, 2, 3];
 const arr2 = arr1.slice();
简洁方式
js 复制代码
const arr1 = [1, 2, 3];
const arr2 = [...arr1];

函数参数合并

函数参数合并:传统方式
js 复制代码
function combineArrays(arr1, arr2) {     
	return arr1.concat(arr2);   
}
简洁方式
js 复制代码
  function combineArrays(...arrays) {     
  	return [].concat(...arrays);   
 }

利用隐式返回(在箭头函数中)

当箭头函数的主体只有一个表达式时,可以省略 return 关键字和大括号。

js 复制代码
const double = num => num * 2;

使用对象方法简写

传统方式
js 复制代码
const person = {  
	name: 'Alice',  
	sayHello: function() {    
		return `Hello, I'm ${this.name}!`;  
	}
};
简洁方式
js 复制代码
const person = {  
	name: 'Alice',  
	sayHello() {    
		return `Hello, I'm ${this.name}!`;  
	}
};

利用数组方法简化循环

forEach 替代传统的 for 循环

传统方式
js 复制代码
 const arr = [1, 2, 3];   
 for (let i = 0; i < arr.length; i++) {     
 	console.log(arr[i]);   
 }
简洁方式
js 复制代码
 const arr = [1, 2, 3];  
 arr.forEach(item => console.log(item));

map 创建新数组

传统方式
js 复制代码
const numbers = [1, 2, 3];   
const doubledNumbers = [];  
 for (let i = 0; i < numbers.length; i++) {     
 	doubledNumbers.push(numbers[i] * 2);   
 }
简洁方式
js 复制代码
  const numbers = [1, 2, 3];   
  const doubledNumbers = numbers.map(num => num * 2);

利用逻辑运算符的短路特性

传统方式
js 复制代码
let value;
if (condition) {  
	value = defaultValue;
} else {  
	value = someOtherValue;
}
简洁方式
js 复制代码
const value = condition? defaultValue : someOtherValue;
// 或者
const value = condition && defaultValue || someOtherValue;
相关推荐
恋猫de小郭21 分钟前
对于普通程序员来说 AI 是什么?AI 究竟用的是什么?
前端·flutter·ai编程
大怪v39 分钟前
前端:人工智能?我也会啊!来个花活,😎😎😎“自动驾驶”整起!
前端·javascript·算法
我是天龙_绍41 分钟前
vue3 props 如何写ts,进行类型标注
前端
叫我詹躲躲1 小时前
n8n 自动化工作流平台完整部署
前端·langchain·领域驱动设计
遂心_2 小时前
为什么 '1'.toString() 可以调用?深入理解 JavaScript 包装对象机制
前端·javascript
IT_陈寒2 小时前
JavaScript 性能优化:5 个被低估的 V8 引擎技巧让你的代码快 200%
前端·人工智能·后端
王同学QaQ3 小时前
Vue3对接UE,通过MQTT完成通讯
javascript·vue.js
岛风风3 小时前
关于手机的设备信息
前端
ReturnTrue8683 小时前
nginx性能优化之Gzip
前端
华仔啊3 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端