ES6---ES 2022 正式发布,带你了解下新特性

目录

1 使用 in 操作符检查私有属性

2 模块中的顶层await

3 error.cause

4 可索引值方法 .at()

5 RegExp match 指数 (d)

6 Object.hasOwn(obj, propKey)

7  新的class成员


1 使用 in 操作符检查私有属性

他检查 obj 是否有一个私有属性 

比如对象中的__proto__:
let obj = {a:1}
'__proto__' in obj // true
// 除此之外,可以检测对象属性键名是否存在
'a' in obj  // true
'c' in obj  // false

2 模块中的顶层await

简单说就是,不用每次使用async搭配,直接使用await来实现异步调用
// my-module.js
const response = await fetch('https://example.com');
const text = await response.text();
console.log(text);

error.cause

写法如下,但是具体展示效果有待添加
try {
  // Do something
} catch (otherError) {
  throw new Error('Something went wrong', {cause: otherError});
}

4 可索引值方法 .at()

这个函数让我们读取给定索引处的元素。它可以接受负索引来从给定数据类型的末尾读取元素。
整数的话从0开始,即对应的索引;负数的话,从1开始即末尾开始:
let arr = [1,2,3,4,5,6]
arr.at(0) // 1  正数索引位置
arr.at(-1) // 6 倒数第一个
arr.at(2)  // 3 正数索引位置
arr.at(-2) // 5 倒数第二个

使用范围:数组、字符串、所有类型化数组类:Uint8Array 等相关类型

5 RegExp match 指数 (d)

如果我们给正则添加标志 /d , 使用它生成匹配对象,
就会记录每个组捕获的开始和结束索引(A 行和 B 行):

图一:编号组的匹配索引; 图二: 命名组的匹配索引

 

 

Object.hasOwn(obj, propKey)

Object.hasOwn(obj, propKey) 
提供了一个安全的方式检查对象 obj 是否有键为 propKey的自有(非继承的) 属性
const proto = {
  protoProp: 'protoProp',
};
const obj1 = {
  __proto__: proto,
  objProp: 'objProp',
}
undefined
Object.hasOwn(obj1,'objProp')    // true
Object.hasOwn(obj1,'protoProp')  // false

obj1.hasOwnProperty('objProp')   // true
obj1.hasOwnProperty('protoProp') // false

obj1.hasOwnProperty('__proto__') //false
Object.hasOwn(obj1,'__proto__')  // false

 


请注意,in 检测继承的属性,而 Object.hasOwn() 仅检测自己的属性。

7  新的class成员

目前还没理解,后面使用时来完善使用方式!
class MyClass {
  instancePublicField = 1;
  static staticPublicField = 2;

  #instancePrivateField = 3;
  static #staticPrivateField = 4;

  #nonStaticPrivateMethod() {}
  get #nonStaticPrivateAccessor() {}
  set #nonStaticPrivateAccessor(value) {}

  static #staticPrivateMethod() {}
  static get #staticPrivateAccessor() {}
  static set #staticPrivateAccessor(value) {}

  static {
    // 静态初始化代码块
  }
}

ES13(2022) 新特性目前了解了解,后期普遍起来就可以抢先入手使用了

一起进步吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝世唐门三哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值