这里写目录标题
let和const
let
用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
特点:
let声明的变量不能提升
let声明的变量不能重复声明
let声明的变量只在当前块作用域有效
let声明的变量会产生暂时性的死区,只在当前块作用域中有效
注意:
let和var全局声明时,var可以通过window的属性访问而let不能
const
const声明一个只读常量。一旦声明,常量的值就不能改变。使用const时,不能只声明不初始化,否则会报错
数组的扩展
扩展运算符
扩展运算符(spread)是三个点(…),将一个数组转为用逗号分隔的参数序列
Array.from()
Array.from方法用于将类对象转为真正的数组,类似数组的对象和可遍历的对象
Array.of()
Array.of方法用于将一组值,转换为数组。Array.of基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一。
数组实例的方法includes()
Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值。该方法的第二个参数表示搜索的起始位置,默认为0。
对象的扩展
对象的扩展运算符
对象的扩展运算符(…)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中,等同于使用Object.assign()方法。
Object.is()
用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致;不同之处只有两个:一是+0不等于-0,二是NaN等于自身。
Object.keys()
返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名。
Object.values()
返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值。注意:返回数组的成员顺序:如果属性名为数值的属性,是按照数值大小,从小到大遍历的
set和map的数据结构
set
ES6提供了新的数据结构Set,类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。
实例属性和方法:
size属性:获取成员的个数
delete()方法:用户删除set结构中的指定值,删除成功返回true
clear()方法:清除所有成员
has()方法:判断set结构中是否含有指定的值。如果有就返回true
entries()方法:返回一个键值对的遍历器
keys()方法:返回键名的遍历器
values()方法:返回键值的遍历器
map
类似于对象,也是键值对的集合,各种类型的值(包括对象)都可以当作键。Map结构提供了“值与值”的对应,是一种更完善的Hash结构实现。
实例属性和方法同set一样