目录
一:let和const的使用
Let不允许重复声明,let必须先定义在使用
暂时性死区(TDZ)
const声明必须赋初始值,标识符一般为大写
const不允许重复声明,值不可以修改(对象或数组除外)
-
解构赋值
结构赋值:把复杂的数据变为简单数据来单独使用
设置赋值的默认值,如果值为undefined默认值就生效
-
模板字符串
模板字符串:是一种新的字符串语法,使用反引号(`)来表示字符串,并且可以在其中插入变量或表达式。
-
箭头函数
箭头函数:是ES6新增的一种函数定义方式,它提供了一种更简洁的语法来定义匿名函数。
五、rest、arguments
arguments函数: 是一个类数组对象,包含了函数调用时传递的所有参数。
箭头函数中没有arguments,可以使用rest代替
rest参数:用于接收多个实参及不确定数量的参数
spread:用于展开数组和对象
spread的扩展运算符:主要用于将一个可迭代对象(比如数组或者字符串)展开为另一个地方可以接受的形式。
六、数值的扩展
二进制:0b表示
八进制:0o表示
十六进制:0x表示
parseInt( ):把对应的进制转换为十进制(第一个参数:值,第二个参数:类型的值)
Number( ):把对应的进制转换为十进制
toString( ):把十进制转换为二、八、十六进制
-
字符串的扩展函数
Includes( ):用于判断某个元素是否在字符串中,返回布尔值
start with( ):用于判断某个字符串是否以什么开头
end with( ):用于判断某个字符串是否以什么结尾
repeat( ):用于重复字符串n次,默认一次
trim( ):用于删除字符串左右两边的空格
trimLeft( ):用于删除字符串左边的空格
trimRight( ):用于删除字符串右边的空格
-
对象的扩展
object.is( ):用于判断两个值是否全相等
==:值相等
===:值和数据类型都相等
object.assign( ):用于拼接字符串、对象
object.assign( ):是实现浅拷贝
浅拷贝:只拷贝引用地址,如果修改一个值,其他值全部改变
深拷贝:拷贝引用地址和值,如果一个值修改,不会影响其他的值
object.keys( ):用于获取对象的键
object.values( ):用于获取对象的值
object.entries( ):用于获取对象键值对
-
数组扩展
Array.from( ):将伪数组转换为真正的数组
Array.of( ):用于将一组值转换为数组
copyWithin( ):用于复制粘贴内容
fill( ):用于填充数组
find( ):用于查找返回满足条件的第一个元素
findIndex( ):用于查找返回满足条件的第一个元素下标
Indludes( ):用于判断元素是否在数组中
flat( ):将多维的数组转换为一维数组
flatMap( ):将数组中的每一个成员都运行一个函数
keys( ):遍历数组的下标
values( ):遍历数组的值
entries( ):遍历数组的下标和值
at( ):用于在数组使用下标查找元素,可以使用负数
toRevsed( ):用于颠倒数组成员
toSorted( ):用于给数组排序,对应sort( )方法
toSpliced( ):用于删除并添加新内容
with( ):对应splice方法,用于替换对应下标的元素
-
Symbol的使用
Symbol:是es6新增的数据类型,他的值是唯一的,用于解决命名冲突的问题
Symbol本身是构造函数,可以直接进行实例化操作
Iterator:遍历内容,使用for...in遍历对象时,不能遍历到Symbol类型的值
Reflect.ownKeys( ):遍历得到普通和Symbol的值
-
set的使用
set:是es6新增的数据结构,值是唯一的,主要用于去除唯一的值
set拥有自己的属性及方法,进行数据的更改操作
size:属性用于返回set的长度
add( ):方法用于向set中添加值
delete( ):用于删除set中的值
has( ):用于判断某个值是否在set中
clear( ):用于清除set中的所有值,成功返回True,失败返回false
keys( ):遍历得到set的键值
entries( ):遍历得到set的键值对
forEach( ):可以遍历得到set的值,后面是一个函数
-
Map的使用
Map是es6新增的数据结构,主要用于存储键值对
object提供 字符串--值
Map提供 值--值
map.size:size属性返回Map的长度
set( ):方法用于向map中写入内容
get( ):用于得到对应的值
delete( ):删除对应的元素
has( ):判断某个元素是否在map中
clear( ):清除map中的全部内容
keys( ):遍历得到键
values( ):遍历得到值
entries( ):遍历得到键值
foreach( ):遍历得到map的值
-
Reflect
Reflect.set( ):向对象中添加属性及其内容
Reflect.get( ):得到对象的属性及内容
Reflect.deleteProperty( ):删除对象的属性及内容
A in B:判断对象的属性是否存在
Reflect.has:判断对象的属性值是否存在
-
Promise
Promise:是es6提出的解决异步编程的一种方法,主要为了解决回调地狱的问题
回调地狱:先执行完任务1之后,再去执行任务2,再去支持任务3
Promises:是构造函数,可以直接new,后面有两个形参
resovle:代表成功的返回值 reject:代表失败的返回
Promise:后面跟的回调函数,可以使用普通函数,也可以使用箭头函数
Promise:pending:运行中 fulfilled:成功 rejected:失败
resovle:将pending状态变为fulfilled状态
reject:将pending状态变为rejected
.then( ):方法接收Promise成功和失败的值
.then:接收成功的内容
.catch:接收所有失败的内容
finally( ):不管Promise是成功还是失败,都会执行finally( )里面的内容
-
Generator的使用
Generator:是es6提出的解决异步编程的方案
Generator:和传统函数不一样,用*表示
Generator:函数可以使用yield中途暂停函数
-
Module的使用
Moudle模块用于大的工程项目,把每一个功能划分为一个模块放在一个Js文件之中
方便代码的复用和后期的维护
模块之间使用导入(import)、导出(export)来进行联系
每一个文件需要加入type=”module”