ES6总结(常用API)

@ES6相关知识总结

let和const

let

  • 用法和var差不多,新增用来定义变量的关键字,但是有些地方不同需要注意
  • let不允许重复声明变量,强行声明报错
  • let声明变量只能在块级作用域内有效,ES6新增加块级作用域的概念
  • let声明变量不能声明和函数形参相同的变量,会报错
  • let声明变量不会被提升,所以只能在声明之后才能进行使用,在之前使用会报错

暂时性死区(TDZ):ES6规定,在一个区块中使用let或者const声明变量,那么此区域变成为块级作用域,用这两个关键字声明的变量可视作绑定该区域,不受外部影响,在该变量声明前不能使用。

const

  • 此关键字声明一个变量,此变量就会成为一个可读的常量,不能被修改,重新赋值会报错
  • const声明的变量必须一开始就赋值,不能留到后面再赋值
  • 为了区别常量和变量,常量一般写为全部大写
  • 从本质上面看,const关键字保证的并不是值不变,而是指向的内存地址不变

箭头函数:定义(形参)=>{函数体}

箭头函数与原生JS函数之间的区别

  • 对于this的指向问题:箭头函数中的this不再是指向其函数的调用者,其中this指向和箭头函数定义的位置有关,实际原因是因为箭头函数内部没有自己的this,是继承外面的this,所以在箭头函数中使用this时需要看清楚指向,箭头函数内部的this不可变,不能重新改变指向
  • new不能用,箭头函数不能使用new关键字来实例化对象,会报错
  • 箭头函数内没有arguments对象,更不可以通过它来访问传入的参数

字符串模板:反引号``+${}

解构赋值:从对象或者数组中提取值,对变量进行赋值。

  • 可以简化两个变量交换值
  • 可以用于函数参数,让其传入的参数顺序进行变化

Array.from():将含有length属性的对象或类数组转成真正的数组

  • Array.from(obj,map函数):第一个参数是要转换的对象,第二个参数是一个函数,类似于map函数(map函数:遍历——操作——返回)

三个点(…)

扩展运算符:把数组和类数组对象展开成一系列用逗号隔开的参数序列

在这里插入图片描述

reset运算符:与前者相反,将一系列用逗号隔开的参数序列组合成一个数组

Set和Map

Set:是一个构造函数,用来生成Set数据结构

  • 类似于数组,但是成员值都是唯一的,不会出现重复值,初始化Set可以传入一个数组或者类数组对象作为参数,也可以不传
  • 经典面试题——一句代码解决数组去重
    在这里插入图片描述
Set的常用属性和方法
  • size:返回成员总数
  • add(value):添加某个值,返回Set本身
  • delete(value):删除一个值,返回布尔值,表示是否删除成功
  • has(value):检测是否为Set中的成员,返回布尔值
  • clear():清除所有成员,没有返回值
遍历Set的方法

在这里插入图片描述
在这里插入图片描述

Map:是一个构造函数,生成Map数据结构,类似于对象,键值对集合,但是键可以是非字符串,初始化Map需要一个二维数组,或者直接初始化空的Map;

var m1 = new Map();
var m2 = new Map([['a', 123]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值