ES2020整理:?和??,动态加载,BigInt,Promise.allSettled

本文是ES2020学习笔记,涵盖了babel环境配置、私有变量、Promise.allSettled、Nullish Coalescing Operator、可选链式调用和BigInt。重点介绍了如何使用新特性提高代码质量与效率,如利用#定义私有变量,使用Promise.allSettled处理多个Promise的完成状态,以及避免null和undefined的陷阱。
摘要由CSDN通过智能技术生成

ES2020 学习笔记

原文地址

1. babel 环境配置

babel 版本在7.8以上,babel-cli 8以上均支持es2020中的语法,具体可参照本项目的webpack配置

2. es2020 中值得关注的点

对象定义中的私有变量

当我们创建一个类的时候,该类会在各个场景下被使用,可能我们并不希望每一个内部的参数都被全局共享,因此在方法或者变量前添加#,使得该方法或者类名只在类内部可用

class Person {
   
  #type = "man";

  constructor(name) {
   
    this.name = name;
  }

  showType() {
   
    console.log(`${
     this.name} is ${
     this.#type}`);
  }
}

const jack = new Person("Jack");

jack.showType(); // Jack is man

jack.#type // Error: #type is private value

在外部调用私有变量的话就会报错

使用方法:在类内部属性或者变量前加入#号,使得变量变为私有变量

Promise.allSettled

当我们使用多 promise 的时候,特别是当每个 promise 之间存在以来关系的时候,记录每个 Promise 的返回值对错误调试而言是很重要的。使用 Promise.allSettled,创造了一种新的 promise,通过该 promise 所有传入的 promise 全部完成后会返回一个数组,该数组中包含了每一个 promise 的返回值和状态

const promise1 = new Promise((resolve, reject) =>
  setTimeout(() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值