// 数组let[a,b,c]= arr;// 对象let{a =0, b =0}= obj;// 已声明变量({x}= obj)// 字符串const[ a, b ]='xzp';let{ length:len }='xzp';// 函数参数解构赋值functionadd([x,y]){return x + y }// 传入数组functionmove({x=0,y=0}={}){return[x,y]}// 传入对象
字符串扩展
1.字符串的遍历器接口 for of
2.模板字符串 let str = `xzp${}`;
3.新增方法:includes->查找字符串,布尔值
startsWith/endsWith->以。开头/结尾,布尔值
repeat(number)->字符串重复,正整数
padStart/padEnd(number,str)->头部/尾部填充str,直到length=number
trimStart()和trimEnd()->去掉头部/尾部空格
replaceAll()->替换全部
function*sayHay(){// todoyield'第一段next';// todoyield'第二段next';}let iterator =sayHay();
iterator.next();// 第一段
iterator.next();// 第二段
iterator.next();// undefinedfunctiongetId(){setTimeout(()=>{let data ='19970920'; iterator.next(data)// 传给下一个yield},1000)}functiongetName(id){setTimeout(()=>{let data ='xzp';},1000)}function*gen(){let id =yieldgetId();// id = 19970920yieldgetName(id);}
ES6集合set
let s = new set();
s.size 元素个数 s.add('add') 新增元素 s.delete('删除元素') 删除元素
s.clear 清空集合 集合类似于数组
去重 let arr = [1,2,2,3,4,5,4,5];
let result = [...new Set(arr)];
交集 let arr2 = [5,6,4];
let result = [...new Set(arr)].filter(item=> new Set(arr2).has(item));
并集 let result = [...new Set([...arr, ...arr2])];
ES6 map
let m = new Map();
新增元素 m.set('name','lxz')
Promise对象
let p =newPromise((resolve, reject)=>{})
p.then(value=>{// resolve执行函数},reson=>{// reject执行函数}).catch(error=>{// 异常穿透})