ES6知识汇总
ES6知识总结
变量声明关键字
var 全局和函数作用域,会变量提升,可重复声明
let 局部作用域,不会变量升级,不能重复声明
const 局部作用域,值类型不能修改,声明必须赋值,一般大写
(值类型:bool,String,Number,undefine)
解构
数组
定义:把数组或对象解析为单独变量
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;
对象解构没有顺序
展开
...arr 展开为单独变量
字符串
字符串模板:`${js变量}` (可以换行,可以加特殊符号)
遍历:for of
检测:includes(sub)是否包含
startsWith(sub)以开头
endsWidth(sub)以结尾
去空白:trim()去掉两端空白
trimLeft()去掉左边空白
trimRight()去掉右边空白
重复:repeate(n)字符串重复n次
填充:"22".padStart(4,"0")
"0022".padEnd(次数,填充字符串)
箭头函数
01 箭头函数省略function
02 => 左边是参数
03 => 右边是函数体、返回
04 传参0个或者2个以上 参数要加上括号
05 如果函数体有多行要加{} 如果需要返回值 return
06 如果返回的是一个对象则用()包裹对象({})
07 箭头函数this指向上一层作用域的this
数组高阶方法
遍历 forEach arr.forEach(function(item.index,self){})
映射 map arr.forEach(function(item,index,self){ 返回一个,映射数组 })
过滤 filte arr.filter(function(item,index,self){ 返回真,当前遍历元素保留;返回假,当前遍历元素过滤掉 })
累计 reduce arr.reduce(function(a,b){ a是上一次返回的结果 })
有一个 some (有一个返回结果为true最终结果为true)
每一个 every (每一个返回结果为true最终返回结果为true)
查找元素 find (查找符合条件的元素)
查找下标 findIndex (查找符号条件的元素下标)
排序 sort((a,b)=>a-b)
函数
默认函数
function fn((a=10,b=20){})
调用:扩展参
fn(...arr) arr数组展开传入
定义:不定参
function(...args){}
对象
1、对象简写
变量名和变量值可简写
函数function可简写

类
面向对象基本特点:封装 继承 多态 接口
定义类、类方法

实例化类
var pl = new Person()
类中的this
Person 类中的this指向、当前类的实例(pl)
继承

模块module
导入
import{name,fun,Square}from './api.js'
import Square from './api.js'
别名as *代表所有 import * api from './api.js' api.name;api.fun()

别名 import Square,{name,fun as fn} from './api.js'

导出
export{name,fun,Square} 导入多次
export default Square 默认只能导出一次
Set
定义:没有重复元素的集合(数组)
初始化:
var s1 = new Set()
var s2 = new Set([1,2,5])
添加:
s1.add()1
删除:
s1.delete()
检测:
s1.has()
长度:
s1.size
转数组:
Array.from(s1)
[...s1]
数组去重:
arr1 = [...new Set(arr)]


浙公网安备 33010602011771号