ES13:类的新增特性、最外层的await、at...

1-类的新增特性

类私有属性和方法:#

class Person{
            // 不需要传参、一开始就需要初始化的,就可以在类的最外面直接声明这个成员
            state={
                a:1,
                b:2
            }
            constructor(name,age){
                this.name=name;
                this.age=age;
            }
        }

在属性和方法前加#表示私有

#obj={}
#prest(){}
  1. 静态成员,不需要实例化就能访问到的属性和方法,直接通过类名.就能拿到
  2. 还可以给类定义静态成员和静态私有函数。类的静态方法可以使用this关键字访问其他的私有或者公有静态成员
class Cache{
	static #count=0;
	static getCount(){
		return this.count
	}
}

静态代码块

ES13允许在类中通过static关键字定义一系列静态代码块,这些代码块只会在类被创造的时候执行一次

一个类可以定义任意多的静态代码块,这些代码块会和穿插在它们之间的静态成员变量一起按照定义的顺序在类初始化的时候执行一次。我们还可以使用super关键字来访问父类的属性。

class Cache{
            static obj = new Map();
            static{
                this.obj.set("name","keiwin")
                this.obj.set("age",100)
            }
            static {

            }
        }

2-支持在最外层写await

await协程的一种方案
顶层await只能用在ES6模块,不能用在CommonJ
S模块。这是因为CommonjS模块的require()是同步加载,如果有顶层await,就没法处理加载了。

<script type="'module">
	function ajax(){
		return new Promise((resolve)=>{
			setTimeout(()=>{
			resolve("data-1111");
			},2000);
		})
	}
	let res =await ajax();
	console.log(res)
</script>

3-at函数来索引函数

  1. 传一个数值进去能把一个数值对应在数组中的位置里面的元素传出来
    -1倒数第一个,-2倒数第二个
  2. at()对字符串同样适用,取的是对应的字符
    在这里插入图片描述

4-正则匹配的开始和结束索引

在正则表达式后添加d就能拿到开始和结束索引
在这里插入图片描述

5-其他新增特性

findLast()和findLastIndex()函数

从最后开始查找返回对应的值
在这里插入图片描述

Error对象的Cause属性

Error对象多了一个cause属性来指明错误出现的原因。这个属性可以帮助我们为错误添加更多的上下文信息,从而帮助使用者们更好地定位错误。

function getData(){
	try{
		console.log(kerwin)
	}catch(e){
		throw new Error('New error 1111111',{cause:"这是因为,,,,,,,"});
	}
}
try{
	getData()
	}catch(e){
		console.1og(e.cause)
	}
}
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值