zoukankan      html  css  js  c++  java
  • 深入理解ES6之《ES7》

    指数运算符

    Math.pow是可以进行求幂运算的
    求幂运算符是两个星号

    let result = 5 ** 2
    console.log(result) //25
    console.log(result === Math.pow(5, 2)) //trueA

    求幂运算符的优先级高于其它二元运算符,但是一元运算符的优先级高于求幂运算符

    let result = 2 * 5 ** 2
    console.log(result)//50

    求幂运算符左侧的一元运算符只能是++或者是--

    let result =-5** 2//语法错误
    let result = -(5 ** 2)//可以这样包裹
    let result = (-5) ** 2//也可以这样包裹

    Array.prototype.includes

    在ES6中可通过String.prototype.includes方法来检查给定字符串中是否存在某些子字符串
    Array.prototype.includes接受俩参数

    1. 要搜索的值
    2. 开始搜索的索引位置(可选)
    let values = [1, 2, 3]
    console.log(values.includes(1))//true
    console.log(values.includes(0))//false
    console.log(values.includes(1, 2))//false
    

    用includes进行值比较时,===操作符的使用只有一个例外:即使NaN===NaN的计算结果是false,NaN也被认为是等于NaN,这与indexOf方法的行为不同,后者严格使用===进行比较

    let values = [1, NaN, 2]
    console.log(values.indexOf(NaN))//-1
    console.log(values.includes(NaN))//true

    另外一个奇怪的地方是+0和-0不管是在indexOf还是在includes中的表现行为都相同

    let values = [1, +0, 2]
    console.log(values.indexOf(-0))//-1
    console.log(values.includes(-0))//false--后面发现测试的居然是true

    函数作用域严格模式下改动

    在ES6中仍然可以使用“use strict”指令来指定严格模式
    ES7中指出只有参数不包含解构或默认值的简单参数列表时才可以在函数中使用“use strict”

    function okay(first, second) {
      "use strict"
      return first
    }
    //这里抛出语法错误
    function notOkay1(first, second = first) {
      "use strict"
      return first
    }

    本文转载于:猿2048→https://www.mk2048.com/blog/blog.php?id=h121122ibcb

  • 相关阅读:
    nginx日志
    silverlight 双击事件
    Silverlight button 图片切换样式
    Caliburn.Micro学习笔记(一)----引导类和命名匹配规则
    关闭Outlook时最小化 dll
    wpf键盘记录器
    WPF之TreeList的实现方法(一)
    精典算法之详解 河内之塔
    精典算法之二分查找法
    指针数组和数组指针
  • 原文地址:https://www.cnblogs.com/10manongit/p/12866893.html
Copyright © 2011-2022 走看看