1、指数运算符
Math.pow()方法可以执行求幂运算。
a ** b也可以求幂运算。
let result = 5 ** 2;
console.log(result); // 25
console.log(result === Math.pow(5,2)); // true
①、运算顺序
求幂运算符在js所有二进制运算符中具有最高的优先级(一元运算符的优先级高于**)。
let result = 2*5**2;
console.log(result); // 50
②、运算限制
求幂运算符左侧的表达式只能使用++或--,其他情况要使用括号。
let num1 = 2,num2 = 2;
console.log(++num1 ** 2); // 9
console.log(num1); // 3
console.log(num2-- ** 2); // 4
console.log(num2); // 1
2、Array.prototype.includes()方法
String.prototype.includes():检查给定字符串中是否存在某些子字符串。
①、使用Array.prototype.includes()方法
两个参数:要搜索的值和可选的开始搜索的索引位置,找到返回true,否则返回false。
let values = [1,2,3];
console.log(values.includes(1)); // true
console.log(values.includes(0)); // false
console.log(values.includes(1,2)); // false
②、值的比较
let values = [1,NaN,3];
console.log(values.indexOf(NaN)); // -1
console.log(values.includes(NaN)); // true
两个方法底层使用的比较机制不同。
let values = [1,+0,2];
console.log(values.indexOf(-0)); // 1
console.log(values.includes(-0)); // true
console.log(Object.is(+0,-0)); // false
3、函数作用域严格模式的一处改动
ECMAScript规定:在函数的形参被解构或者有默认参数时,函数中禁止使用"use strict"指令。