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));
相关推荐
python猿11 分钟前
打卡Python王者归来--第30天
开发语言·python
qq_3349031512 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
阿贵---23 分钟前
C++代码规范化工具
开发语言·c++·算法
暮冬-  Gentle°31 分钟前
自定义内存检测工具
开发语言·c++·算法
一直都在57231 分钟前
Java死锁
java·开发语言
娇娇yyyyyy34 分钟前
QT编程(15): Qt 按键事件和定时器事件
开发语言·qt
2501_945424801 小时前
C++编译期矩阵运算
开发语言·c++·算法
yy我不解释1 小时前
关于comfyui的mmaudio音频生成插件时时间不一致问题(三)
开发语言·python·ai作画·音视频·comfyui
2301_815482931 小时前
C++中的类型标签分发
开发语言·c++·算法
SuperEugene1 小时前
Vue3 模板语法规范实战:v-if/v-for 不混用 + 表达式精简,避坑指南|Vue 组件与模板规范篇
开发语言·前端·javascript·vue.js·前端框架