深入理解ES6之《ES7》
2024-10-01 03:11:17
指数运算符
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接受俩参数
- 要搜索的值
- 开始搜索的索引位置(可选)
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
最新文章
- NSCache和NSURLCache、网络缓存优化
- C# PPT Operator
- spring事务详解(转载+高亮)
- 自制操作系统 (三) 从启动区执行操作系统并进入C世界
- [问题2014S02] 解答
- 转载:如何运用VI编辑器进行查找替换
- input实时监听(input oninput propertychange onpropertychange)
- List操作之Select
- ueditor编辑器图片自定义存放目录及路径修改
- JS中 confirm()方法的使用?
- iOS7——图像资源Images Assets
- BZOJ 1797: [Ahoi2009]Mincut 最小割( 网络流 )
- thinkphp 设置跨域请求
- android 屏幕适配基础(1)
- Android 开发笔记___Application操作全局变量
- java 单例模式-饿懒汉模式
- Javascript面向对象特性实现封装、继承、接口详细案例
- script利用src引用外部js文件,如果内部嵌套了js代码呢
- hdu5306 Gorgeous Sequence
- 使用autoconf与automake自动生成MakeFile文件