ES6最重要最复杂的知识点: 1. 类和继承 2.promise 3. ES6模块化(在vue中讲)
1.变量声明关键字
var ?? ?全局作用域和函数作用域 ?? ?会变量提升 let ?? ?局部作用域 ?? ?不会变量提升 ?? ?不能重复声明 const ?? ?值类型不能修改 ?? ?声明必须赋值 ?? ?一般大写
2.解构
数组 ?? ?定义:把数组或对象解析为单独变量 ?? ?1基本格式 var [a,b,c="default",...rest]=arr ?? ?2. ?逗号代表下一位 ?? ?3. ...rest 剩余的所有(只能放在最后) ?? ?4.可以有默认值 ?? ?5.交换变量 [a,b]=[b,a] 对象 ?? ?var {name,age,say="love you",...rest}=obj ?? ?对戏结构没有顺序
3.?字符串
字符串模板 ?? ?`${js变量}` ?? ??? ?可以换行,可以加特殊符号 遍历 ?? ?for of 检测 ?? ?includes(sub)是否包含 ?? ?statsWith(sub)以开头 ?? ?endsWith(sub)以结尾 去空白 ?? ?trim()去掉两端空白 ?? ?trimLeft()去掉左边空白 ?? ?trimRight()去掉右边的空白 重复 ?? ?repeate(n)字符串重复n次 填充 ?? ?“22”.padStart(4,”0“) ‘0022’ “22”.padEnd(次数,填充字符串)
4.数组高阶方法
forEach遍历 ?? ?arr.forEach(function(item,index,self){}) ?? ?item当前遍历的元素 ?? ?index?当前遍历的下标 ?? ?self当前遍历的数组 map映射
?? ?arr.map(function(item,index,self){
返回一个 ,映射数组 }) filter过滤 ?? ?arr.filter(function(item,index,self){ //当返回的值为真,当前元素保留 //返回的元素为假,当前元素被过滤掉 }) reduce累计 ?? ?arr.reduce(function(a,b,index,self){ a是上一次返回的结果 }) some有一个 ?? ?有一个返回结果为true最终结果为true every每一个 ?? ?每个返回结果为true最终结果为true find查找元素 ?? ?查找符合条件的元素 findindex查找下标 ?? ?查找符合条件的元素下标 sort 排序
((a,b)=>a-b) ?? ?
?
|