BigInt大数字,??空值合并符,?可选链,globalThis全局对象,forin标准化
1. BigInt
- 在早期的JavaScript中,不能正确的表示过大的数字
- 大于MAX_SAFE_INTEGER的数值,表示的可能是不正确的
- 在ES11中,引入了新的数据类型BigInt,用于表示大的整数
- BigInt的表示方法是在数值的后面加上n
1 | const m = Number.MAX_SAFE_INTEGER; |
2. 空值合并操作符 Nullish Coalescing Operator
- ??:只有当值为undefined时,才会被判断为false;值为0或空时,判断为true
1 | let uname = ""; |
3. 可选链 Optional Chaining
- 可选链也是ES11中新增一个特性,主要作用是代码在进行null和undefined判断时更加清晰和简洁
- 当前值判断为undefiend值,后面的操作不会被执行,故不会报错
1 | const obj = { |
4. 全局对象 Global This
在之前获取JavaScript环境的全局对象,不同的环境获取的方式是不一样的
- 在浏览器中通过this,window来获取
- 在Node中通过global来获取
那么在ES11中对获取全局对象进行了统一的规范:globalThis
1 | /** |
5. for..in标准化
- 在ES11之前,虽然很多浏览器支持for…in来遍历对象类型,但是并没有被ECMA标准化
- 在ES11中,对其进行了标准化,for…in是用于遍历对象的key
1 | const obj = { |