本篇主要讲述了关于es6和往后的一些新的语法和api
新声明语法
let用于块级作用域内的变量声明const用于声明常量,常量声明后不能被改变
解构赋值
let { a, b } = abObj从对象中快速通过属性名获取这个属性并赋值给新变量let a = [...b]数组的结构赋值,用于复制数组let a = [...b, ...c]数组的合并,也是通过结构赋值快速实现
补位api
padStart(x,'0')返回新的字符串,表示用0从字符串头部补充到x个字数padEnd(x, '0')返回新的字符串,表示用0从字符串尾部补充到x个字数
proxy代理
proxy(target, handler)target是被代理的对象,handler是声明了各类代理操作的对象,最终返回一个代理对象,一般来说handler里面放的是set和get方法,方法有target,key,val参数
数组
Array.of()将参数中所有值作为元素形成数组Array.from()将类数组对象或可迭代对象转化为数组,类数组:let obj = {0:'k',1:'j',length:2};一定要带有length属性,from方法还有第二个参数map()可以处理传入的数组find()返回通过测试(函数内判断)的数组的第一个元素的值,如果没有符合条件的元素返回 undefinedfindIndex()返回传入一个测试条件(函数)符合条件的数组第一个元素位置,如果没有符合条件的元素返回 -1fill(value, start, end)用于将一个固定值替换数组的start到end的元素copyWithin(target, start, end)用于从数组的指定位置拷贝元素到数组的另一个指定位置中entries()返回一个数组的迭代对象,该对象包含数组的键值对(key/value),迭代对象中数组的索引值作为key, 数组元素作为valuekeys()用于从数组创建一个包含数组键的可迭代对象,如果对象是数组返回true,否则返回falsevalues用于从数组创建一个包含数组值的可迭代对象,如果对象是数组返回true,否则返回false
函数
() => {}箭头函数,此时this的指向是定义函数时的对象,普通函数下的this是指向用用函数时的对象
对象
- 如果想将对象的的属性名当做变量来用
let key = 'a';
let obj = {
[key]: 'b'
}
Promise
new Promise((resolve, reject) =>{}).then(() => {}).catch(() => {})使用promise来处理请求或者是异步事件,写起来和ajax很像,将异步事件写在大括号里面,成功返回处将resolve()写入,反之同理- 可以使用
async与await处理Promise
let fun = () => {
return new Promise((res,rej) => {})
}
async function a() {
let b = await fun();
}
a();