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));
相关推荐
Y1rong2 小时前
C++ QT之记事本
开发语言·qt
谎言西西里5 小时前
JS 高手必会:手写 new 与 instanceof
javascript
diegoXie6 小时前
Python / R 向量顺序分割与跨步分割
开发语言·python·r语言
程序员小白条6 小时前
0经验如何找实习?
java·开发语言·数据结构·数据库·链表
liulilittle6 小时前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
天问一7 小时前
使用 Vue Router 进行路由定制和调用的示例
前端·javascript·vue.js
失散137 小时前
Python——1 概述
开发语言·python
萧鼎7 小时前
Python 图像哈希库 imagehash——从原理到实践
开发语言·python·哈希算法
小小8程序员7 小时前
STL 库(C++ Standard Template Library)全面介绍
java·开发语言·c++
立志成为大牛的小牛7 小时前
数据结构——五十六、排序的基本概念(王道408)
开发语言·数据结构·程序人生·算法