ES7,ES8,ES9,ES10新特性

本文详细介绍了JavaScript从ES7到ES2020的新增特性,包括Array.includes、求幂运算符、Async/Await、Object.values、Object.entries等,以及BigInt、动态引入、空值合并等新特性,帮助开发者了解和掌握JavaScript的最新进展。
摘要由CSDN通过智能技术生成

JavaScript 的版本

JavaScript这种语言的基本语法结构是由ECMAScript来标准化的, 所以我们说的JavaScript版本一般指的是ECMAScript版本

ES7 新特性(2016)

1.Array.includes()

  • 在 ES6 中我们有 **String.includes()**可以查询给定字符串是否包含一个字符
  • 在 ES7 中,我们在数组中也可以用 Array.includes方法来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。
const arr = [1,3,5,2,'8',NaN]
arr.includes(1)						// true
arr.includes(1,2)					// false 该方法的第二个参数表示搜索的起始位置,默认为 0
arr.includes('1')					// false
arr.includes(NaN)					// true

2.求幂运算符

在 ES7 中引入了指数运算符,就像+、- 等操作符一样,具有与 Math.pow() 等效的计算结果

console.log(2**10);				   // 输出 1024
console.log(Math.pow(2,10))			// 输出 1024

ES8 新特性(2017)

1.Async/Await

假如有这样一个使用场景:需要先请求 a 链接,等返回信息之后,再请求 b 链接的另外一个资源。基于这个原因,ES8 引入了 async/await,异步迭代器(asynchronous iterators),提供了在不阻塞主线程的情况下使用同步代码实现异步访问资源的能力,并且使得代码逻辑更加清晰

async function fun(){
   }
try{
   
    let res =await axios({
   url:'xxxx
         console.log(res)
         let res2 =await axios({
   url:'xxxx'})
         console.log(res2)
  }catch (err){
   
    console.error(err)
}
fun()

2.Object.values()

Object.values()是一个与Object.keys()类似的新函数,但返回的是Object自身属性的所有值,不包括继承的值。

const obj = {
   a: 1, b: 2, c: 3};
const values=Object.values(obj);
console.log(values);							//[1, 2, 3]
Object.values(obj).forEach(value=>console.log(value)) // 1, 2, 3

3.Object.entries()

Object.entries()函数返回一个给定对象自身可枚举属性的键值对的数组。

const obj = {
   a: 1, b: 2, c: 3};
for(let [key,value] of Object.entries
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值