• ES7学习笔记——Array.prototype.includes和求幂运算符**


      一直以来,在前端开发时使用的基本都是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()相同。

      
  • 相关阅读:
    select应用于read函数 超时非阻塞方式
    取文本索引所执向的值(简单)
    linux c函数指针的应用
    解决vsftp无法启动问题(转)
    Could not chdir to home directory /home/USER: Permission denied
    sscanf和正则表达式
    存储过程重置SEQUENCE值从新开始。
    Signal ()函数详细介绍 Linux函数(转)
    linux 环境NTP配置与开机自启动(转)
    linux下iconv()函数的用法(转载并修改)
  • 原文地址:https://www.cnblogs.com/zhengxj1991/p/9045985.html
Copyright © 2020-2023  润新知