深入理解ES6之《ES7》

news/2024/12/23 8:54:49

指数运算符

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
}

http://www.niftyadmin.cn/n/545266.html

相关文章

高效IO之File文件操作类的基础用法(二)

更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 前言 众所周知Java提供File类,让我们对文件进行操作,下面就来简单整理了一下File类的用法。 话不多说了,来一起看看详细的介绍吧 1.基本概念 Fi…

PowerDesigner实用技巧小结(2)

PowerDesigner实用技巧小结 1、ORACLE数据库建模时,由于ORACLE的表名、字段名如果是小写会有一定的麻烦,需要将小写转化为大写? (1)在打开pdm的情况下,进入Tools-Model Options-Naming Convention&#xf…

ARM工作模式

1. 工作状态 从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: 1)第一种为ARM状态,此时处理器执行32位的字对齐ARM指令,绝大部分工作在此状态; 2)第二种为…

高效IO之Dex加密(三)

更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 apk加固原理之dex加密 原理其实不复杂,加固其实就是加密dex文件,防止dex专程jar 被阅读。后面才是热部署解密dex; 一、加密和解密方案 既然我们…

openssl基本原理 + 生成证书 + 使用实例

1. 基本原理 参考:http://www.cnblogs.com/phpinfo/archive/2013/08/09/3246376.html Begin http://www.cnblogs.com/phpinfo/archive/2013/08/09/3246376.html 公司一个项目要进行交易数据传输,因为这个项目银行那边也是刚刚开始启动,所有的支持只有一个传输字段…

高级UI晋升之触摸事件分发机制(一)

更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 0. 前言 鉴于安卓分发机制较为复杂,故分为多个层次进行讲解,分别为基础篇、实践篇与高级篇。 (一)基础篇:从基本概念入手…

PHP中正则表达式学习及应用

PHP中正则表达式 1、正则表达式的介绍和作用2、PHP中两个常用的正则函数3、正则表达式中包括的元素4、正则表达式中的“原子” 1、正则表达式的介绍和作用 什么是正则表达式 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式…

jenkins构建自由风格项目[四]

标签(linux): jenkins 笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流 构建一个php项目 创建一个新的项目 选择从git获取源码 配置gitlab deploy keys 第一步:第二步:第三步:…