前一段时间小编一直在更新javascript es6版本的部分新语法和新特性,鉴于现在js一直在更新,接下来小编将和大家一起进步,一块探究js的新特性。今天小编就和大家一起来看看es7更新的语法和新特性。大家还可以关注我的微信公众号,蜗牛全栈。

一、includes
1、基本用法

let arr = ['es6','es7','es8']
console.log(arr.includes('es7')) // true 返回值是布尔,判断数组里面是否包含某个值

2、参数:第一个参数是要查找的元素,第二个元素是从第几个元素开始查找

let arr = ['es6','es7','es8']
console.log(arr.includes('es7',1)) // true 从数组index=1的位置开始查找
console.log(arr.includes('es7',2)) // false
console.log(arr.includes('es7',-1)) // false 从最后一个(es8)开始往后找
console.log(arr.includes('es7',-2)) // true 从最后二个(es8)开始往后找

3、引用数据类型的判断:两种办法只能判断基本数据类型

arr = ['es6',['es7','es8'],'es9']
console.log(arr.includes(['es7','es8'])) // false
console.log(arr.indexOf(['es7','es8'])) // -1

4、关于NaN判断

arr = ['es6',NaN,'es9']
console.log(arr.includes(NaN)) // true
console.log(arr.indexOf(NaN)) // -1 indexOf不能检测NaN

5、判断的严格性:两种方式判断相当三个等号严格判断

arr = ['es6',NaN,'es9']
console.log(arr.includes(NaN)) // true
console.log(arr.indexOf(NaN)) // -1 indexOf不能检测NaN

二、幂运算符(指数运算)

1、封装函数

// 运算2^10
function pow(x,y){
let res = 1
for(let i=0;i<y;i++){
res*=x
}
return res
} console.log(pow(2,10)) // 1024

2、使用Math

console.log(Math.pow(2,10)) // 1024

3、幂运算符

console.log(2**10) // es7新特性

关于使用includes和indexOf情况

  • 判断NaN是不是包含在数组中,只能用includes
  • 只关心是否存在,不关心出现的位置,用includes
  • 需要获取所在的下标,使用indexOf

最新文章

  1. 学习Redis你必须了解的数据结构——双向链表(JavaScript实现)
  2. pythonchallenge 解谜
  3. zookeeper安装和应用场合(名字,配置,锁,队列,集群管理)
  4. linux 安装 apache
  5. configparser
  6. 实现textarea限制输入字数
  7. 使用jquery的方法和技巧2,点击多选框的jquery响应
  8. CentOS7中关闭firewall,并使用iptables管理防火墙
  9. Oracle 条件判断函数decode和case when then案例
  10. Codeforces.662C.Binary Table(状压 FWT)
  11. nopCommerce 3.2新功能
  12. 第三个Sprint ------第五天
  13. MT【173】齐次消元单变量
  14. PPT里面的背景音乐找不到?
  15. C# CLR20R3 程序终止的几种解决方案
  16. HihoCoder - 1867: GCD (莫比乌斯容斥)
  17. Eclipse中Ctrl+Shift+f快捷键无效的解决方式
  18. 域名配置https
  19. Effective C++(7) 为多态基类声明virtual析构函数 or Not
  20. AJAX上传文件到服务器

热门文章

  1. c#基于supersocket的简单websocket服务端收发消息实现
  2. Spring context的refresh函数执行过程分析
  3. Java集合详解(二):ArrayList原理解析
  4. 并发王者课 - 青铜4:synchronized用法初体验
  5. golang:指针理解总结
  6. ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha
  7. 马哥Linux SysAdmin学习笔记(二)
  8. Redis 哨兵模式配置
  9. 问题解决: PythonStudy 环境搭建
  10. Centos7 搭建prometheus+Grafana监控