ES8~ES11的新特性,不看会后悔系列

ES8

async与await,这两种语法结合可以让异步代码像同步代码一样
	async
		1. 返回值为 promise对象
			因此可以调用then方法
		2. promise对象的结果由async函数执行的返回值决定
			返回为undefined或者数值,为返回成功。因此可以调用then
			当出现  抛异常为返回失败。throw new Error('异常')
			也可以返回一个 new  Promise对象
	await
		1. await必须写在 async的函数中
		2. await 右侧的表达式必须是 promise对象
		3. await 返回的是 promise成功的值
		4. await的 promise失败的话,会抛出异常,因此需要通过try...catch捕获
对象方法的扩展
	1. Object.keys(对象名)
		获取对象的所有键,返回数组
	2. Object.values(对象名)
		获取对象的所有值,返回为数组
	3. Object.entries(对象名)
		一个键值对为一个数组,所有键值对为一个大的数组,方便于创建map
	4. Object.getOwnPropertyDescriptors
		返回指定对象所有自身属性的描述对象

ES9

rest参数
	ES6的rest只使用于数组,ES9的rest可针对对象了

ES10

对象的扩展方法
	Object.fromEntries(二维数组)
		将二维数组转换成对象的形式,一个内部数组等于一个键值对,只取前下标的前两位,第一位为键,第二位为值
字符串的扩展方法
	1. str.trimStart()
		清除字符串左边的空格
			等于  str.trimLeft()
	2. str.trimEnd()
		清除字符串右边的空格
			等于 str.trimRight()
数组的扩展方法
	1. arr.flat(数)
		将高维数组转换成低纬数组,默认为1寓意二维转1维度,2为三维以下转1维
	2. arr.flatMap()
		将进行过map方法返回的数组(二维),转换为一维的形式
Symbol的扩展
	Symbol.prototype.description
		获取Symbol描述文字

ES11

私有属性
	类中使用#开头的变量是私有属性
Promise的方法
	1. Promise.allSettled([promise的元素])
		存储了promise属性的值,也包括失败的
	2. Promise.all([promise的元素])
		失败会抛异常
可选链操作符
	.?的格式
		const dbHost = config?.db?.host;

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值