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));
相关推荐
心念枕惊12 分钟前
PHP 在领域驱动(DDD)设计中的核心实践
android·开发语言·php
圣光SG15 分钟前
Java操作题练习(二)
java·开发语言·python
Sammyyyyy17 分钟前
如何利用本地技术栈构建 0 成本 AI SaaS 雏形
开发语言·人工智能·python·ai·servbay
不简说21 分钟前
JS 代码技巧 vol.9 — 20 个设计模式在真实项目里的应用
前端·javascript·github
勇往直前plus29 分钟前
Vue3(篇三) Element Plus
前端·javascript·typescript·vue
冻柠檬飞冰走茶33 分钟前
PTA基础编程题目集 7-13 日K蜡烛图(C语言实现)
c语言·开发语言·数据结构·算法
csdn_aspnet40 分钟前
C# 从凸包中删除点(Deleting points from Convex Hull)
开发语言·c#
cts61843 分钟前
Python全栈claude.md文档
开发语言·python
Revolution6144 分钟前
数组本身没有 map,为什么还能直接调用:原型链怎样查找属性
前端·javascript·面试
cdcdhj1 小时前
vue3中的watchEffect()监听,什么时候监听,什么时候清理,什么时候停止
前端·javascript·vue.js