《ECMAScript 6 入门优化版》

《ECMAScript 6 入门优化版》

1 ECMAScript 6简介

2 letconst命令

1letconst命令

let命令不存在变量提升、存在暂时性死区、不允许重复声明。

const命令声明的变量不能改变,但是对象时可以改变属性。

es6中声明的全局变量不再属于全局对象的属性。

3 变量的解构赋值

1)数组的解构赋值

Let [x,y,z] = new Set([‘a’,’b’,’c’]);这种也可以,只要数据结构中具有Iterator接口。

解构赋值允许指定默认值,对应值为undefined时默认值生效。

2)对象的解构赋值

var { bar, foo} = {foo:aaa’,bar:bbb};

({x} = {x:1});可以使用圆括号()避免js引擎将其解释为代码块。

3)字符串的解构赋值、数值和布尔值的解构赋值、函数参数的解构赋值

4)圆括号问题:

三种情况不能使用圆括号,分别是:变量声明语句中,模式不能带有括号;函数参数中,模式不能带有括号;不能将整个模式或嵌套模式中的一层,放在圆括号中。

5)用途

有以下几种:变换变量的值;从函数返回多个值;函数参数的定义;提取json数据;函数参数的默认值;遍历Map结构;输入模块的指定方法;

4 字符串的扩展

5 正则的扩展

6 数值的扩展

7 数组的扩展

8 函数的扩展

1rest参数:变量,这个变量是一个数组,将一个参数序列变为一个数组

2)扩展运算符:变量,这个变量是一个数组,将数组变为一个参数序列(展开数组)

应用:合并数组、与解构赋值结合、函数返回值、字符串、类似数组的对象、mapset结构,Generator函数

3)箭头函数

注意点:1.函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象;2.不可以当作构造函数;3.不可以使用arguments对象;4.不可以使用yield命令;


9 对象的扩展

1)属性的简洁表示法

2)属性名表达式:属性名表达式与简洁表示法不能同时使用

3name属性

4Object.is():判断两个值是否相等

5Object.assign():用于将源对象的所有可枚举属性,复制到目标对象

10 Symbol

1)独一无二的值

2)作为属性名的Symbol

3)消除魔术字符串

4)属性名的遍历

11 ProxyReflect

1proxy用于修改某些操作的默认行为,可以理解成在目标对象之前架设了一层“拦截”

2reflect的方法与proxy的方法一一对应

12 二进制数组

1ArrayBuffer对象


13 SetMap数据结构

14 Iteratorfor...of循环

15 Generator函数

16 Promise对象


17 异步操作Async函数

18 Class

19 修饰器

20 Module

21 编程风格

1)块级作用域:用letconst

2)字符串:静态字符串一律使用单引号,不使用双引号,动态字符串使用反引号

3)解构赋值:返回多个值优先使用对象解构

4)对象:多行定义的对象,最后一行末尾加逗号。对象的属性和方法,尽量采用简洁表达法

5)数组:使用扩展运算符(...)拷贝数组

6)函数:立即执行函数可以写成箭头函数形式;需要使用函数表达式的场合,尽量使用箭头函数替代,因为这样更简洁、而且绑定了this

7Map结构:需要key:value结构时

8Class:总是用class取代需要prototype操作

9)模块:使用import,不要使用require

10ESLint的使用

22 读懂ECMAScript规格





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值