ES6+新特性:ES7(二)

文章目录

  • ES7(2016)
    • [1. Array.prototype.includes()](#1. Array.prototype.includes())
      • [1.1 includes和indexOf的区别](#1.1 includes和indexOf的区别)
    • [2. 指数运算符(**)](#2. 指数运算符(**))
    • [3. 函数参数的尾逗号](#3. 函数参数的尾逗号)
ES(发行年份) 链接
ES6(2015) ES6

ES7(2016)

1. Array.prototype.includes()

用于判断一个数组是否包含某个特定的值,返回布尔值。取代了indexOf方法。

官方文档:Array.prototype.includes()

javascript 复制代码
const arr = [1,2,3,4,5]
console.log(arr.includes(3)) // true
console.log(arr.includes(6)) // false

1.1 includes和indexOf的区别

  • 关于NaN的判断
    • includes:可以判断出数组中是否存在NaN
    • indexOf:无法进行判断
javascript 复制代码
const arr = ["abc", "def", "ghi", NaN];
console.log(arr.includes(NaN)); // true
console.log(arr.indexOf(NaN)); // -1,即没有找到

2. 指数运算符(**)

** 用来进行幂运算,避免使用Math.pow方法。

javascript 复制代码
const result =  2 ** 3; // 表示2的3次方
console.log("🚀 ~ result:", result) // 8

3. 函数参数的尾逗号

允许函数定义的最后一个参数使用逗号进行结尾,可以方便修改/添加参数时避免出错。

javascript 复制代码
function sum(a, b, ) {
  return a + b;
}
console.log(sum(10, 20));
相关推荐
武清伯MVP42 分钟前
前端跨域方案大合集
前端·javascript
在放️1 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy1 小时前
java知识五(继承)
java·开发语言
c++之路1 小时前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
星星在线1 小时前
我是怎么把页面图片流量砍掉一半的
前端·javascript
聚名网2 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
牛油果子哥q2 小时前
STL set与map底层精讲,红黑树适配原理、有序去重特性、迭代器遍历、API实战与面试核心考点全解
开发语言·数据结构·c++·面试
foundbug9992 小时前
直流电机 PID 速度控制 MATLAB 仿真程序
开发语言·matlab
kyriewen3 小时前
TypeScript 高级类型:我用 infer 写了一个类型安全的 EventBus,终于搞懂了泛型约束
前端·javascript·typescript