理解JSON.stringify和Reflect

一、JSON.stringify

四、Reflect

Reflect 是一个内置的对象,它提供拦挡 JavaScript 操作的办法。这些办法与proxy handlers的办法雷同。Reflect不是一个函数对象,因而它是不可结构的。

1、Reflect.get
Reflect.get(target, propertyKey[, receiver])
参数:
target
须要取值的指标对象
propertyKey
须要获取的值的键值
receiver
如果target对象中指定了getter,receiver则为getter调用时的this值。

// Objectvar obj = { x: 1, y: 2 };Reflect.get(obj, "x"); // 1// ArrayReflect.get(["zero", "one"], 1); // "one"// Proxy with a get handlervar x = {p: 1};var obj = new Proxy(x, {  get(t, k, r) { return k + "bar"; }});Reflect.get(obj, "foo"); // "foobar"

2、Reflect.ownKeys
Reflect.ownKeys:返回一个由指标对象本身的属性键组成的数组。

const object1 = {  property1: 42,  property2: 13};const array1 = [];console.log(Reflect.ownKeys(object1));// expected output: Array ["property1", "property2"]console.log(Reflect.ownKeys(array1));