ES7 - 新功能

本章介绍 ES7 中的新功能。

指数运算符

ES7 引入了一个新的数学运算符,称为指数运算符。此运算符类似于使用 Math.pow() 方法。指数运算符用双星号 ** 表示。该运算符只能用于数值。使用指数运算符的语法如下 −

语法

指数运算符的语法如下 −

base_value ** exponent_value

示例

以下示例使用 Math.pow() 方法和 指数运算符 计算数字的指数。

<script>
   let base = 2
   let exponent = 3
   console.log('using Math.pow()',Math.pow(base,exponent))
   console.log('using exponentiation operator',base**exponent)
</script>

上述代码片段的输出如下所示 −

using Math.pow() 8
using exponentiation operator 8

数组包含

ES7 中引入的 Array.includes() 方法有助于检查数组中是否有某个元素。在 ES7 之前,Array 类的 indexof() 方法可用于验证数组中是否存在某个值。如果找到数据,indexof() 将返回数组中第一次出现的元素的索引,否则如果数据不存在则返回 -1。

Array.includes() 方法接受一个参数,检查作为参数传递的值是否存在于数组中。如果找到该值,则此方法返回 true,否则如果该值不存在,则返回 false。使用 Array.includes() 方法的语法如下所示 −

语法

Array.includes(value)

Array.includes(value,start_index)

第二种语法检查指定索引中的值是否存在。

示例

以下示例声明一个数组标记并使用 Array.includes() 方法来验证数组中是否存在某个值。

<script>
    let marks = [50,60,70,80]
    //检查数组中是否包含 50
    if(marks.includes(50)){
    console.log('在数组中找到元素')
    }else{
    console.log('找不到元素')
    }
    
    //检查是否从索引 1 找到 50
    if(marks.includes(50,1)){ //从索引 1 搜索
    console.log('在数组中找到元素')
    }else{
    console.log('找不到元素')
    }
    
    //检查数组中是否为非数字 (NaN)
    console.log([NaN].includes(NaN))
    
    //创建一个对象数组
    let user1 = {name:'kannan'},
    user2 = {name:'varun'},
    user3={name:'prijin'}
    let users = [user1,user2]
    
    //检查数组中是否包含对象
    console.log(users.includes(user1))
   	console.log(users.includes(user3))
</script>

上述代码的输出将如下所示 −

found element in array
could not find element
true
true
false