ES6新特性

注:牛客职导前端课程笔记。

1.let const var

1.1var

全局变量挂载在window下。

变量提升:变量声明、初始化提升,赋值不提升。

可重复声明和修改,会发生覆盖。

1.2let

不挂载在window下。

创建提升,初始化不提升,造成暂时性死区。

不可重复声明,可重复赋值。

为块级作用域。

1.3const

不挂载在window下。

不提升,暂时性死区,声明时必须进行初始化。

且初始化后值不可再修改。

块级作用域。

2.解构符号

2.1作用

ES6允许按照 一定模式,从数组和对象中进行模式匹配提取值,对变量进行赋值,称为解构

2.2使用方法

基本、嵌套、忽略、不完全解构、剩余运算符、字符串、解构默认值、变换变量的值。

2.3应用

浅克隆与合并。

提取JSON数据。

函数参数的定义。

3.箭头函数

箭头函数出现的原因是为了解决在对象的方法的方法中想要访问该对象的属性,this却会指向window的情形。

3.1没有this,this是从外部获取的。

3.2不能进行new操作

因为箭头函数不具有this,不能用作构造器。

3.3没有arguments

箭头函数没有有自己的arguments对象,但可以访问外围函数的arguments对象。

3.4没有super

不能通过 super 来访问原型的属性

4.Map与WeakMap

4.1Map特点

Map的键和值可以是任何数据类型。

Map数据可迭代,object数据不可迭代。

4.2Map的常用属性

Map.set(key,value)添加键值对到映射中

Map.get(key)获取映射中某一个键的对应值

Map.delete(key)将某一键值对移除映射

Map.clear()清空映射中所有的键值对

Map.entries()返回一个以二元数组(键值对)作为元素的数组

Map.has(key)检查映射中是否包含某一键值对

Map.keys()返回当前映射中所有键作为元素的可迭代对象

Map.values()返回所有值作为可迭代对象

Map.size()映射中键值对的数量

4.3遍历Map数据

keys():返回键名的遍历器

values():返回键值的遍历器

entries():返回键值对的遍历器

forEach():使用回调函数遍历每个成员

4.4WeakMap

只接受对象作为键名,不接受其他类型的值作为键名。

键名是弱引用,如果键名销毁,该属性就销毁。

不可枚举,枚举影响其列表将会影响垃圾回收。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值