深入理解ES6之《ES7》

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了深入理解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
}

脚本宝典总结

以上是脚本宝典为你收集整理的深入理解ES6之《ES7》全部内容,希望文章能够帮你解决深入理解ES6之《ES7》所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。