-
声明多个变量并解构赋值
- 解构:将对象或数组,变为多个变量
js//1. 数组解构 let [a, b, c] = [1, 2, 3]; // 相当于 let a=1;let b=2;let c=3 let [a, ...b] = [1, 2, 3] //相当于 let a=1;let b=[2,3]; let [a, b, c] = 'hel'; //相当于 let a=1;let b=2;let c=3,字符串本身是字符数组 //2. 对象解构 let { a, b } = { a: 'a', b: 'b' } // 相当于 let a='a';let b= 'b'; let {a, ...b}={a: 10, b: 20, c: 30}; //相当于 let a=10;let b={b: 20, c: 30}; -
简写
js//属性简写 const age = 12; const name = "Amy"; const person = {age, name};//相当于 const person ={age: 12, name: "Amy"} //函数和函数对象参数简写 let person={ getName({a}){ console.log(a); }; } -
函数
- 箭头函数 : (a,b)=>{},单变量简写 a=>{}
- 函数参数: ...args,用来代替arguments
-
...运算符
js//1. 函数参数 function a(...param){ console.log(param);//参数数组 } //2.剩余变量 let [a, ...b] = [1, 2, 3]//相当于 let a=1;let b=[2,3]; let {a, ...b}={a: 10, b: 20, c: 30}; //相当于 let a=10;let b={b: 20, c: 30}; //3.解构且合并数组 let arr1 = [1, 2]; let arr2 = [3, 4]; let arr = [...arr1, ...arr2];//相当于let arr=[1,2,3,4] //4.解构且合并对象 let age = {age: 15}; let name = {name: "Amy"}; let person = {...age, ...name};//相当于 let person ={age: 15, name: "Amy"} //解构传参 let fun= function(a,b,c){} let param=[1,2,3] fun(...param) -
默认值
js//1.函数参数默认值 function f(b,c=1){ console.log(c) }; f(2)//结果:1 //2.解构默认值 let {a=1,b}={b:2};//a=1,b=2 let [a,b=2]=[1];//a=1,b=2 -
引入了Map和Set对象
-
n次方操作符:**,eg. 2**3=8
-
Array.includes:是否包含某元素
-
async、await
js//异步函数 async function a(){ //await 必须在 async下使用 await ajax();//等待完成 await ajax2(); } -
flat和flatMap
js[1,2,[3,4]].flat(1) // 变为1维数组,结果:[1,2,3,4]]flatMap是map和flat的结合,下面的两个操作是等价的:
jsarr.flatMap(func) arr.map(func).flat(1) -
import () 方法:动态导入
-
String.prototype.replaceAll
jsconst str = "hello world"; // 之前 str.replace(/o/g, "a")// "hella warld" // 现在 str.replaceAll("o", "a")// "hella warld" -
?? 运算符
jslet a=b||'1' //b=null或undefined或0时,结果为1 let a=b??'1' //b=null或undefined时,结果为1 -
??= 空值赋值运算
jslet a=2; a??=1 //a=null或undefined,结果为1 console.log(a)//结果为2 -
?. 对象为空时,获取其属性不报错,而获取到undefined值
jslet a; let d=a?.b //a=null或undefined时不会报错,a.b返回undefined
es6~ 常用语法总结
WZTTMoon2024-02-27 9:14
相关推荐
憧憬成为web高手5 小时前
ACTF 12307复现wordbaby5 小时前
Axios 上传大文件崩溃:鸿蒙 RNOH 下 XHR 返回空响应头引发的"假失败"wordbaby6 小时前
React Native 列表分页实战:下拉刷新与上拉加载的工程化方案wordbaby6 小时前
脱离 Tab 栏的艺术:React Native 全屏子页面的导航架构实践陈随易7 小时前
Redis 8.8发布,一定要更新wordbaby7 小时前
React Native 新架构落地鸿蒙:跨三端政务级应用的工程实践与深度复盘excel8 小时前
为什么我推荐使用 Termius:现代 SSH 工具的完整体验ZC跨境爬虫8 小时前
模块化烹饪小程序开发日记 Day7:(菜谱详情接口开发与JSON数据读取全流程)এ慕ོ冬℘゜9 小时前
JS 前端基础面试题LaughingZhu9 小时前
Product Hunt 每日热榜 | 2026-05-25