zoukankan      html  css  js  c++  java
  • ES7新特性 (2016)

    ES7(2016)

    新增了两个新特性:

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

    2. a ** b指数运算符,它与 Math.pow(a, b)相同。

    1.Array.prototype.includes()

    includes() 函数用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回false

    includes 函数与 indexOf 函数很相似,下面两个表达式是等价的:

    arr.include(x)
    //等价于
    arr.indexOf(x)>=0

    接下来我们来判断数字中是否包含某个元素:

    在ES7之前的做法

    使用indexOf()验证数组中是否存在某个元素,这时需要根据返回值是否为-1来判断:

    let arr = ['react', 'angular', 'vue'];
    
    if (arr.indexOf('react') !== -1)
    {
        console.log('react存在');
    }

    使用ES7的includes()

    使用includes()验证数组中是否存在某个元素,这样更加直观简单:

    let arr = ['react', 'angular', 'vue'];
    
    if (arr.includes('react'))
    {
        console.log('react存在');
    }

    2.指数操作符

    在ES7中引入了指数运算符****具有与Math.pow(..)等效的计算结果。

    不使用指数操作符

    使用自定义的递归函数calculateExponent或者Math.pow()进行指数运算:

    function calculateExponent(base, exponent)
    {
        if (exponent === 1)
        {
            return base;
        }
        else
        {
            return base * calculateExponent(base, exponent - 1);
        }
    }
    
    console.log(calculateExponent(2, 10)); // 输出1024
    console.log(Math.pow(2, 10)); // 输出1024

    使用指数操作符

    使用指数运算符**,就像+、-等操作符一样:

    console.log(2**10);// 输出1024
    参考文章:https://juejin.im/post/5ca2e1935188254416288eb2
  • 相关阅读:
    欧几里德算法
    int 和 string 相互转换(简洁版)
    骆驼吃香蕉
    链表反转 (Multi-method)
    二分查找 (最经典代码,及其边界条件的实践分析)
    mottoes
    欧拉函数,欧拉定理,费马小定理。
    深搜和广搜的对比
    Python基础
    马拉车求最大回文字串
  • 原文地址:https://www.cnblogs.com/embrace-ly/p/10938053.html
Copyright © 2011-2022 走看看