es6 对象的扩展

1 属性的简洁表示法【es6对象中,直接写变量,属性名为变量名,属性值为变量值】

2 方法的简写

3 属性名表达式

4 对象中的扩展运算符

 

5  疑问: a   Object.assign  与  $.extend的区别  Object.assign是es6中提供的方法   $.extend 是jquery提供的方法

Symbol 可以确保  属性的唯一性

Set  Map  数据结构  类似java

Proxy  添加访问对象的拦截器   

Reflect  增加访问对象的方式  类似于Object

Promise   异步操作的封装

yield   控制函数的运行, 用来暂停和继续一个生成器函数

generator 函数是一个状态机,封装了多个内部状态

执行Generator函数会返回一个遍历器对象,除了状态机,还是一个遍历器对象生成函数

Generator函数有2个特征:a: function关键字与函数名之间一个星号  b: 函数体内使用yield表达式,定义不同的内部状态

 

Thunk  自动执行Generator函数的一种方式【任何函数,只要参数有回调函数, 就可以写成Thunk函数的形式】

co模块:【Generator是一个异步操作的容器, 自动执行需要一种机制,当异步操作有了结果, 能够自动交回执行权】

async函数  就是  Generator函数的语法糖

async函数就是将Generator函数的星号 * 替换为 async , 将yield替换为await

6 类的修饰  修饰器是一个对类进行处理的函数, 修饰器函数的第一个参数,就是所要修饰的目标类

是在编译阶段执行, 而不是在运行阶段

7  方法的修饰   修饰器的本意是要 修饰 类的实例,但是这个时候实例还没生成,所以只能去修饰原型

 

8   module [实现模块功能]

es6模块设计的思想尽量静态化, 使得编译时就能确定模块的依赖关系,以及输入和输出的变量

原有的commonJs模块

es6模块加载

9  es6的模块自动采用严格模式,export 命令

export命令可以出现在模块的任何位置, 如果处于块级作用域内,就会报错, 因为处于条件代码块之中,就没法

做静态优化了,违背了es6模块的设计初衷

10   默认输出和正常输出

export default命令用于指定模块的默认输出, 一个模块只能有一个默认输出,因此export default命令只能使用一次

所以 import 命令后面不需要加大括号, 因为只可能唯一对应  export  default   命令

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值