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

  

最新文章

  1. .net程序部署(mono方式)
  2. eclipse中配置tomcat
  3. android studio...混淆打包全揭秘
  4. Binary Tree Right Side View
  5. Java 8开发的4大顶级技巧
  6. oradmin相关用法
  7. C# in Depth阅读笔记3:C#3特性
  8. 【Yom框架】漫谈个人框架的设计之三:业务接口+UI层的设计(基于Castle实现的Repository)
  9. linux设置环境变量
  10. CodeForces 912d fishes(优先队列+期望)
  11. C++位运算
  12. poj~1236 Network of Schools 强连通入门题
  13. JAVA进阶20
  14. ETL hive update 之 deltamerge 优化
  15. google sitemap
  16. pc send instructor pc ad
  17. 基于802.11Fuzz技术的研究
  18. MQTT 学习记录
  19. JS 对象(Object)和字符串(String)互转方法
  20. 01Tensorflow学习之Tensorflow基本介绍

热门文章

  1. line-height和vertical-algin
  2. 【BZOJ2157】旅游 树链剖分+线段树
  3. mybatis按姓名或手机号搜索
  4. Redis对于key的操作命令
  5. thinkphp---数据表更新字段开发模式可更新生产模式不能更新!
  6. git add -A和git add . 的区别
  7. Hibernate--快速上手
  8. 删除 Linux /tmp 目录下的临时文件
  9. Requested bean is currently in creation: Is there an unresolvable circular reference?
  10. pandas的DataFrame用法