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
求幂运算符左侧的一元运算符只能是++或者是--prototype
let result =-5** 2//语法错误 let result = -(5 ** 2)//能够这样包裹 let result = (-5) ** 2//也能够这样包裹
在ES6中可经过String.prototype.includes方法来检查给定字符串中是否存在某些子字符串
Array.prototype.includes接受俩参数code
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 }