ES6 学习笔记一
let 和 const 命令
1、let 与 const声明的变量不存在变量提升,一定要在声明后使用,否则报错
2、在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”
3、const声明的常量,也与let一样不可重复声明,对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量,对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址
4、es6声明变量的六种方法:var,let,const,function,import,class
命令 | 作用域 | 声明次数 | 变量提升 | 暂时性死区 |
---|---|---|---|---|
var | 全局作用域 | 无限制 | 存在 | 不存在 |
let | 块级作用域 | 只能声明一次 | 不存在 | 存在 |
const | 块级作用域 | 只能声明一次 | 不存在 | 存在 |
变量的解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
解构对象 | 解构方式 |
---|---|
数组 | 按照数组元素顺序解构 |
对象 | 按照对象属性名字解构 |
1、解构方式可以分为基本,可嵌套,可忽略,不完全解构
2、剩余运算符返回的数组
3、解构默认值的使用:ES6内部使用严格相等运算符(===),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined,默认值是不会生效的
字符串扩展
方法名 | 返回值 |
---|---|
includes | 表示是否找到了参数字符串 |
startsWith | 表示参数字符串是否在源字符串的头部 |
endsWith | 表示参数字符串是否在源字符串的尾部 |
repeat | 表示将原字符串重复n次 |
padStart | 用于头部补全指定长度的字符串 |
padEnd | 用于尾部补全指定长度的字符串 |
模板字符串`` | 它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量 |
数值扩展
方法名 | 返回值 |
---|---|
isFinite | 用来检查一个数值是否为有限的 |
isNaN | 用来检查一个值是否为NaN |
parseInt | 将数值转换为整数 |
parseFloat | 将数值转换为浮点数 |
isInteger | 用来判断一个值是否为整数 |
Number | 将非数值的值转为数值 |
以上是Number对象上新增的,同时Math对象上也新增了些数学方法
数组扩展
方法名 | 返回值 |
---|---|
from | 从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例 |
of | 创建一个具有可变数量参数的新数组实例 |
Array(num) | 创建一个长度为num的空数组 |
isArray | 用于确定传递的值是否是一个 Array |
concat | 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组 |
copyWithin | 浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度 |
entries | 返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对 |
every | 测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值 |
fill | 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引 |
filter | 创建一个新数组, 其包含通过所提供函数实现的测试的所有元素 |
find | 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined |
findIndex | 返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1 |
flat | 按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回 |
flatMap | 首先使用映射函数映射每个元素,然后将结果压缩成一个新数组 |
forEach | 对数组的每个元素执行一次提供的函数 |
includes | 用来判断一个数组是否包含一个指定的值 |
indexOf | 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1 |
join | 将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串 |
keys | 返回一个包含数组中每个索引键的Array Iterator对象 |
lastIndexOf | 返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1 |
map | 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果 |
pop | 从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度 |
push | 将一个或多个元素添加到数组的末尾,并返回该数组的新长度 |
reduce | 对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值 |
reduceRight | 接受一个函数作为累加器(accumulator)和数组的每个值(从右到左)将其减少为单个值 |
reverse | 将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组 |
shift | 从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度 |
slice | 返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变 |
some | 测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值 |
sort | 对数组的元素进行排序,并返回数组 |
splice | 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组 |
toLocaleString | 数组中的元素将使用各自的 toLocaleString 方法转成字符串 |
toString | 返回一个字符串,表示指定的数组及其元素 |
unshift | 将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组) |
values | 返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值 |
本作品采用《CC 协议》,转载必须注明作者和本文链接