ES6 部分新特性

解决了var的一些遗留问题

  1. var 可以重复声明变量
  2. var 不可以限制修改
  3. var 不支持块级作用域,只支持函数作用域

解决方案: 引入let和const

const 对象 可以避免对象被重新赋值,可以修改的属性
什么时候使用const?

  1. 定义常量
  2. 定义对象 防止对象被篡改
  3. 定义函数表达式

函数简化书写 -箭头函数

function [函数名](参数){
	[方法;]
	renturn 表达式/数据;
}

改善方案:箭头函数 用 => 代替 function ,仅包含return的函数可以进一步简化

(参数) => 表达式/数据; //仅有一个参数时括号可以省略
//如果仅包含一条语句且不含return 同样可以省去{}

在实际操作中有时候为了防止,简化时,将有用的{}吞掉,可在外层用()包裹

箭头函数的现实意义

当定义定义对象方法时,出现函数套函数的情况,此时内层的this不再指向对象
ES5的解决方法时,将外层this另存,在内层调用另存的this,而不是直接使用this

let self = this;

而箭头函数没有this,this由父级继承而来,有效的解决了这个问题,使编码逻辑变得简单

Number和Math增加新的属性和方法

Array数组增加了新的方法

Array

过滤器 - filter
映射 - map
汇总 - reduce
some() 或门
every() 与门

.of() .from()

提供了新的数据结构 MAP字典、SET集合

MAP字典

比对象更灵活的映射(键可以是更多的类型),键是有序的
size 属性 记录键的数量
.get()
.set(键,值)

若键为 NaN 则其他表达式值为NaN 也能正常访问

SET集合

存储不重复(不恒等),的集合

  • +0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复;
  • undefined 与 undefined 是恒等的,所以不重复;
  • NaN 与 NaN 是不恒等的,但是在 Set 中只能存一个,不重复。

.add(x) 方法:向集合添加元素x
.has(x) 方法:判断当前 set 中是否含有 x

编码的简化 -解构赋值

对赋值运算符的扩展
类似python的赋值方式
剩余运算符 在要赋值的对象前加三点 表示讲剩余部分赋值给它
可以对解构 赋值默认值

数组的结构赋值可以 比较简单地实现元素值的交换

[a,b] = [b,a]
// 可以做冒泡
// 保留初始值,解构

对象的解构赋值可以获得对象的一个裁剪版

{name,sex} = {
	name: “海胆",
	sex: "男",
	hobby: "女"
}

可以从一个较大的对象中,仅仅提取自己需要的属性,而不需要使用obj.属性的方式访问

模板字符串

`xxx${a}xx`

模板字符串可以方便的通过js向HTML插入标签树 (普通字符串写一行比较方便)
可以对模板字符串进行插值 ,相较于+更方便

引入类class 解决原先只有对象的窘境

extends关键字 继承
super() 超类 引用父类构造函数

对象

  1. 对象的属性可以直接写变量,属性名是变量名,属性值是变量值
let x=123;
// {x} ---> {x: 123}
// 同理 命名方法 方法名为属性名 方法体为属性值
  1. 方括号 属性名表达式
  2. 扩展运算符(…) 取出参数对象所有可遍历属性
  • 可用于展开数组
  1. Object.assign(target, source_1, ···) 将源对象的所有可枚举属性复制到目标对象中
  2. Object.is(value1, value2) 用来比较两个值是否严格相等
    ===却别
  • +0不等于-0
  • NaN等于本身

JSON

json中简写

如果key和value名相同则可以简写为一个名
如果方法名默认或与key相同也可以做简化

json的新引用

串行化 JSON.stringify(obj)
字符串转json JSON.parse(str)

引入Module模块化

新增Promise方法

–简化异步回调结构,避免层层嵌套回调地狱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值