ECMAScript 6(es6)总结
es6运行环境
- 浏览器
- Node
我们去写ES6代码的时候 如果说 其他浏览器不支持我们需要通过某个工具 把ES6代码 转换成更为低级的ES代码(优雅降级)
目的:让我们其他浏览器更好的支持
es6新增的方法
startsWith
- 当startsWith只有一个参数的时候判断 一个字符串是否以某个子串开头
- 当startsWith有两个参数查找从第二个参数为索引的位置开头的字符串 是否以第一个参数开头
endsWith
- 当只有一个参数的时候判断字符串是否以某个子串结尾
- 当有两个参数的时候判断以第二个参数为长度限制的字符串结尾是否是第一个参数
includes
- 当只有一个参数的时候判断一个字符串中是否有某个子串
- 当有两个参数的时候判断从第二个参数为索引开始的字符串是否包含第一个参数
新的Number方法
- isNaN (判断一个数字是否是NaN)
- isFinite (用于检测其参数是否为最大值 如果是NaN 或者是正负无穷大的时候 返回false 否则为true)
- Number.parseFloat 该函数指定字符串中首个字符是否为数字
- parseInt 截取前面的数字 但是只能截取整数部分
find:在一个数组中找到满足条件的第一个元素 并返回这个元素 如果没有则返回undefined
findIndex:在一个数组中找到满足条件的第一个元素并返回这个元素的索引 如果没有则返回-1
includes:判断一个数组中是否包含某个元素 如果包含则返回true否则false
map:对数组中的每一个元素进行加工 返回一个加工后的新数组
filter:对数组中每一个元素进行过滤 返回过滤后的新数组
some:遍历数组中的每一个元素,只要有一个元素满足条件,则返回true 并且立即停止遍历
every:遍历数组中的每一个元素 所有元素都满足条件后 返回true 有一个不满足就返回else 并停止遍历
遍历数组
- for循环
- forEach
- for in
- for of
遍历对象
- for in
- Object.keys
- Object.values
- Object.entries
ES6中新增加的两个数据结构
- Set 不是对象{} 也不是数组 是一个新的数据解构
- Map
es6语法:声明变量 let和const
let
- let不存在变量提升
- let声明的变量属于局部作用域(es6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效)
- let不能重复声明 (let声明的变量是块级作用域,而且它不能重复声明)
const
const声明一个只读的常量(局部作用域,一旦声明不能修改
- 改变常量的值会报错
- 只声明不赋值会报错
- 只在声明所在的块级作用域内有效