一直以来,在前端开发时使用的基本都是ES5,以及少量的ES6。3月份换工作面试时,发现一些比较大的公司,对ES6比较重视,阿里的面试官直接问ES7和ES8,对于从未接触过人来说,完全是灾难。由此也显现出我的一个弊端,埋头苦干是没用的,还要着眼未来,紧盯发展趋势。近期在补习ES6、ES7和ES8。

  ES7仅仅新增了求幂运算符(**)和Array.prototype.includes()方法两项内容,大大降低了学习难度,也预示着ES标准进入了小步快跑、多次少量更新的发展阶段。

  1、求幂运算符(**)

    基本用法: 2 ** 3    //8

    等同于:    Math.pow(2, 3)    //8

    与其他运算符类似,**也可以有幂等操作:

      let  num  =  2;

      num **=  3;   //8

    ES7的这个新特性是从Python、Ruby等语言模仿而来的。

  2、Array.prototype.includes()方法

  includes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。

  

  let a = [1, 2, 3];
  a.includes(2); // true
  a.includes(4); // false

  语法: arr.includes(searchElement [, fromIndex]);

      其中: searchElement是需要查找的元素值;可选的fromIndex是查找开始的元素的索引,默认为0。如果fromIndex为负值,则按升序从array.length + fromIndex的索引开始搜索,如果array.length + fromIndex的计算结果小于0,则整个数组都会被搜索; 如果fromIndex大于等于数组长度,则返回false,改善组组不会被搜索。

  通用方法: includes()方法有意设计为通用方法。它不要求this值是数组对象,所以它可以被用于其他类型的对象(如类数组对象)。Eg:

  (function() {
  console.log([].includes.call(arguments, 'a')); // true
  console.log([].includes.call(arguments, 'd')); // false
  })('a','b','c');

  与ES6中indexOf方法的比较:

  ① includes()方法比较简便,返回的结果是布尔值,无须像indexOf方法那样返回索引值后再比交;

  ② 两者都用全等(===)作比较,但是在includes()方法中 NaN === NaN的是true,但是在indexOf方法及js中,NaN === NaN返回false。

  ③ includes()方法认为 +0 和 -0 是相同的。这一点与indexOf()相同。

  

ES7学习笔记——Array.prototype.includes和求幂运算符**的更多相关文章

  1. [ES2016] Check if an array contains an item using Array.prototype.includes

    We often want to check if an array includes a specific item. It's been common to do this with the Ar ...

  2. Array.prototype.includes

    if (!Array.prototype.includes) {   Array.prototype.includes = function(searchElement /*, fromIndex*/ ...

  3. Javascript学习笔记--理解prototype

    prototype和closure是js中两个不好搞懂的概念,幸好网上有很多相关的文章,在网上查了一遍以后,总是是觉得有点理解了.今天先说说prototype. 之前一直被ajax in action ...

  4. Verilog学习笔记基本语法篇(二)·········运算符

    Verilog HDL的语言的运算符的范围很广,按照其功能大概可以分为以下几类: (1)算术运算符 +,-,*,/,% 优先顺序 !~ *  /   % +    - <<    > ...

  5. 数组Array和字符串String的indexOf方法,以及ES7(ES2016)中新增的Array.prototype.includes方法

    前言 我们在判断某一个字符是否存在于一个字符串中或者某一个值是否存在于一个数组中时,ES7之前我们需要使用indexOf,ES7引入了新的方法includes 语法 数组:Array.inexOf(s ...

  6. HTML 学习笔记 JavaScript (prototype)

    原博地址:http://www.cnblogs.com/dolphinX/p/3286177.html 原博客的作者是一个非常牛逼的前端大神,我作为一个初学者,在此借助大神的博客进行自己的学习.在这里 ...

  7. PytorchZerotoAll学习笔记(三)--自动求导

    Pytorch给我们提供了自动求导的函数,不用再自己再推导计算梯度的公式了 虽然有了自动求导的函数,但是这里我想给大家浅析一下:深度学习中的一个很重要的反向传播 references:https:// ...

  8. [前端JS学习笔记]JavaScript prototype 对象

    一.概念介绍 prototype 对象 : 原型对象.在JavaScript中, 每一个对象都继承了另一个对象,后者称为"原型对象". 只有 null 除外,它没有自己的原型对象. ...

  9. 剑指Offer的学习笔记(C#篇)-- 求1+2+3+...+n

    题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 一 . 直接解题吧 芽儿呦,突然觉得,我不说! ...

随机推荐

  1. 经验之道:最有效的iOS内存泄漏检测

    版权声明:本文由胡涛原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/125 来源:腾云阁 https://www.qclou ...

  2. MS17-010永恒之蓝验证

    一.安装MSF,windows下安装也可以,直接安装kali也可以,我是kali是攻击主机,win7是靶机,都在虚拟机里. 1.windows下安装MSF请参考:http://blog.csdn.ne ...

  3. 转载-解决使用httpClient 4.3.x登陆 https时的证书报错问题

    今天在使用httpClient4.3.6模拟登陆https网站的时候出现了证书报错的问题,这是在开源中国社区里找到的可行的答案(原文链接:http://www.oschina.net/question ...

  4. 新浪通过API分享 实践

    注:如果集成了百度的Frontia和SinaCoreSDK, 那么SSO会出现包冲突 https://github.com/sinaweibosdk/weibo_android_sdk/issues/ ...

  5. tpcc-mysql安装、使用、结果解读

    请点击:http://www.aikaiyuan.com/8687.html 错误处理: ln -s /usr/local/mysql/lib/libmysqlclient.so. /usr/lib6 ...

  6. 解读 Android TTS 语音合成播报

    随着从事 Android 开发年限增加,负责的工作项目也从应用层开发逐步过渡到 Android Framework 层开发.虽然一开始就知道 Android 知识体系的庞大,但是当你逐渐从 Appli ...

  7. Java 泛型 详解

    一.什么是泛型 本质而言,泛型指的是参数化的类型.参数化的类型的重要性是:它能让你创建类.接口和方法,由它们操作的数据类型被指定为一个参数.操作参数化类型的类.接口或方法被称为泛型,如泛型类或泛型方法 ...

  8. javascript飞机大战-----008积分

    /* 创建敌机: */ function Enemy(blood,speed,imgs,scroe){ //敌机left this.left = 0; //敌机top this.top = 0; // ...

  9. sublime3095-注册码下载安装

    链接:http://pan.baidu.com/s/1hqejFKS 下载地址:下载 提取密码:egh5 ----- BEGIN LICENSE ----- Andrew Weber Single U ...

  10. elasticsearch-hadoop使用

    elasticsearch-hadoop是一个深度集成Hadoop和ElasticSearch的项目,也是ES官方来维护的一个子项目,通过实现Hadoop和ES之间的输入输出,可以在Hadoop里面对 ...