ES7都增加了哪些新特性?了解JavaScript的新特性与语法演变

ES7(ECMAScript 2016)是JavaScript语言的一个重要版本更新,它们引入了一些新特性和语法改进,使得JavaScript编程更加高效、灵活和易于理解。

1、Array.prototype.includes

此方法用于检测一个数组是否包含一个特定的值,根据情况,如果包含则返回true,否则返回false。这与之前常用的indexOf()方法有些类似,但indexOf()返回的是元素的索引,如果不存在则返回-1,而includes()直接返回布尔值。

arr.includes(searchElement, fromIndex)

searchElement: 必须。需要查找的元素值。

fromIndex: 可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。

const arr = ['a', 'b', 'c', 'd', 'e'];
const arr1 = [1, 2, NaN];

arr.includes('a'); // true
arr.includes('f'); // false
arr.includes('d', 2); // true
arr.includes('b', 2); // false
arr1.includes(NaN); // true

注意:当fromIndex为负值时,分两种情况,第一种是fromIndex的绝对值大于等于数组的长度时,则查找整个数组;第二种如果小于数组的长度时,则使用数组长度 + fromIndex计算出的索引作为新的fromIndex。

const arr = ['a', 'b', 'c', 'd', 'e'];
    
arr.includes('c', -99); // true
arr.includes('a', -5); // true
arr.includes('d', -3); // true
arr.includes('a', -1); // false

此外,includes方法也可以用于检查特定元素是包含在字符串中。

string.includes(searchvalue, start)

searchvalue:必需,要查找的字符串。

start:可选,设置从那个位置开始查找,默认为 0。

const url = "https://www.xxxx.com/#/test/index.html"
  
url.includes('https://'); // true
url.includes('/#/'); // true
url.includes('https://', 10); // false

2、指数幂运算符**

Exponentiation Operator 是一个用于进行指数运算的运算符,它允许将一个数值(底数)进行指定次数的乘方运算。

** 可以看做是Math.pow(x , y)的语法糖,其作用与Math.pow()一致。

语法:x ** y,x表示底数,即要进行乘方运算的数值。y表示指数,表示要将底数乘方的次数。

2 ** 6; // 64
Math.pow(2, 6); // 64

3 ** 3; // 27
Math.pow(3, 3); // 27

100 ** 0; // 1
Math.pow(100, 0); // 1
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值