🚀 作者 :“码上有前”
🚀 文章简介 :前端高频面试题
前端高频面试题--ES7-ES11
往期精彩内容
【前端高频面试题–HTML篇】
【前端高频面试题–CSS上篇】
【前端高频面试题–CSS下篇】
【前端高频面试题–JS上篇】
【前端高频面试题–JS下篇】
【前端高频面试题–ES6篇】
【前端高频面试题–ES7-ES11】
【前端–异步编程】
【前端高频面试题–TypeScript篇】
【前端高频面试题–git篇】
【前端高频面试题–微信小程序篇】
【前端高频面试题–Vue基础篇】
【前端高频面试题–虚拟DOM篇】
【前端高频面试题–Vue3.0篇】
【前端高频面试题–Vuex上篇】
【前端高频面试题–Vuex下篇】
【前端高频面试题–Vue生命周期篇】
【前端高频面试题–Vue组件通信篇】
【前端高频面试题–Vue路由篇】
【前端-Vue3创建一个新项目】
【前端大屏自适应缩放】
【前端Vue3 + TS项目开发一般流程】
ES7
includes
includes:判断某一元素是否在数组里
(ES6)indexOf判断某一元素是否在数组里,但是返回的结果是个数组下标
幂运算
**幂运算 :(ES6)Math.pow幂运算
ES8新特性
async和await
两者结合起来可以让异步代码像同步代码一样
异步编程的解决方案:1.生成器函数y 2.promise 3.async和await
async函数
- async函数的返回值为promise对象,
- promise 对象的结果由async函数执行的返回值决定
await 表达式 - await必须写在async函数中(单向依赖)
- await右侧的表达式一般为promise对象
- await 返回的是promise 成功的值
- await的 promise 失败了,就会抛出异常,需要通过try…catch 捕获处
扩展对象
values 获取对象所有的值
entries 获取对象以数组的形式出现
getOwnPropertyDescriptors 对象属性的描述对象
ES9新特性
Rest参数 spread扩展运算符
在ES6中只针对于数组,在ES9中为对象提供了数组一样的rest参数和扩展运算符
ES9 正则扩展–命名捕获分组
(.*)通配
ES9 正则扩展–反向断言
ES9 正则扩展–dotAll模式
gs是全局匹配
ES10新特性
对象扩展方法 Object.fromEntries
字符串扩展方法 trimStart和trimEnd
用来清除字符串左侧或者右侧的空格
数组扩展方法flat和flatMap
flat将多维数组转化为低维数组
flatMap把map的结果做一个维度降低
Symbol.prototype.description
用来获取symbol字符串描述
ES11新特性
私有属性
Promise.allSettled
永远是成功的状态,成功的值是promise返回的状态和值
与promise.allSettled相识的是promise.all 两者都用来做批量异步场景
promise.all 是promise中所有的都成功它才显示成功,有一个失败就不显示成功
String.prototype.matchAll
用来得到正则批量匹配的结果 正则提取数据
可选链操作符 ?.
判断属性是否存在
动态import
先不导入import,等用的时候再导入
新的数据类型 BigInt类型
应用于大数值的运算