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));
相关推荐
mqiqe18 分钟前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
xixiaoyunya1 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
张元清1 小时前
React useScrollLock Hook:为弹窗锁住页面滚动 (2026)
javascript·react.js
Sayai2 小时前
【无标题】ECharts 实现日志量异常检测:基线 ±Kσ 基带 + 灵敏度切换(Vue2 实战)
前端·javascript·echarts
精英的英2 小时前
记一次 Qt5 Language Server 开发
开发语言·vscode·qt
烧酒同学2 小时前
【C++】记录size of std::vector的巧妙坑
开发语言·c++·图形渲染
周周哈哈哈2 小时前
线程创建、执行、退出、回收
java·开发语言
gb42152872 小时前
python中Web应用服务器
开发语言·前端·python
默_笙3 小时前
💌 为了把"主题色"传给孙子组件,我翻了五层楼——直到遇见了 useContext
前端·javascript
小KK_3 小时前
JS 事件循环从小白视角入门:宏任务、微任务与 async/await 一网打尽
前端·javascript