目录
一、设计目的
二、静态方法
三、proxy实现观察者模式
ES6 为了操作对象而提供的新 API
Object
对象的一些明显属于语言内部的方法放到Reflect
对象上Object
方法的返回结果,让其变得更合理Object
操作都变成函数行为Reflect
对象的方法与Proxy
对象的方法一一对应,只要是Proxy
对象的方法,就能在Reflect
对象上找到对应的方法this
对象后执行给定函数,等同于Function.prototype.apply.call(func, thisArg, args)。
new target(...args)
,这提供了一种不使用new
,来调用构造函数的方法。target
对象的name
属性,如果没有该属性,则返回undefined
target
对象的name
属性等于value
Object.defineProperty。
这个方法可以与Proxy.defineProperty
配合使用,Proxy.defineProperty
对属性赋值设置了拦截,然后使用Reflect.defineProperty
完成了赋值delete obj[name]
,用于删除对象的属性。返回一个布尔值。如果删除成功,或者被删除的属性不存在,返回true
;删除失败,被删除的属性依然存在,返回false
name in obj
里面的in
运算符Object.getOwnPropertyNames
与Object.getOwnPropertySymbols
之和Object.isExtensible
Object.preventExtensions
Object.getOwnPropertyDescriptor
__proto__
属性,对应Object.getPrototypeOf(obj)
Object.setPrototypeOf(obj, newProto)
方法Reflect - ECMAScript 6入门 (ruanyifeng.com)
见=》JavaScript手写题_Kw_Chng的博客-CSDN博客