Proxy
Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。
常用的Proxy 支持的拦截操作:
- get(target, propKey, receiver):拦截对象属性的读取,比如proxy.foo和proxy['foo']。
get方法用于拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身(严格地说,是操作行为所针对的对象),其中最后一个参数可选。
- set(target, propKey, value, receiver):拦截对象属性的设置,比如proxy.foo = v或proxy['foo'] = v,返回一个布尔值。
set方法用来拦截某个属性的赋值操作,可以接受四个参数,依次为目标对象、属性名、属性值和 Proxy 实例本身,其中最后一个参数可选。
Reflect
Reflect是ES6为了操作对象而新增的API。
Generator
Generator 函数是 ES6 提供的一种异步编程解决方案
async
async 函数是什么?一句话,它就是 Generator 函数的语法糖。