归纳总结自1.5万字概括ES6全部特性(已更新ES2020)
ES2015
主要分为以下几点:
- 表达式:声明、解构赋值
- 内置对象:字符串扩展、数值扩展、对象扩展、数组扩展、函数扩展、正则扩展、Symbol、Set、Map、Proxy、Reflect
- 语句与运算:Class、Module、Iterator
- 异步编程:Promise、Generator、Async
- const、let
- 字符串解构:
const [a,b,c,d,e] = "hello"
- 数值、布尔解构:
const {toString:a} = 123
const {toString:b} = true
- 对象解构:
const {x:z,y=2} = {x:1,y:2}
- 数组解构:
const [x,y=2] = [1]
- 函数参数解构
解构应用场景:
- 交换变量:
[x,y] = [y,x]
(算法题里使用较多) - 返回函数多个值:
const [x,y,z] = useHook()
(hooks用的比较多) - 定义函数参数
Func([1,2])
- 提取JSON数据
const {name,version} = packageJson
- 定义函数参数默认值
- 遍历Map:
for(let [key,value] of Map){}
- 输入模块指定属性和方法:
const {readFile,writeFile } = require("fs")
import {x} from 'xx'
字符串扩展的几个
- 大括号包含表示Unicode字符:
\u{0xXX}
- 字符串遍历:
for...of...
- 模板字符串:
`你好${name}`
- 标签模板:
alert`hello` 等同于 alert(['hello'])
- String.raw
String.raw`a/\${a}`