理解 JSON.stringify 和 Reflect
一、JSON.stringify
四、Reflect
Reflect
是一个内置的对象,它提供拦挡 JavaScript 操作的办法。这些办法与 proxy handlers 的办法雷同。Reflect 不是一个函数对象,因而它是不可结构的。
1、Reflect.getReflect.get(target, propertyKey[, receiver])
参数:
target
须要取值的指标对象
propertyKey
须要获取的值的键值
receiver
如果 target 对象中指定了 getter,receiver 则为 getter 调用时的 this 值。
// Object
var obj = {x: 1, y: 2};
Reflect.get(obj, "x"); // 1
// Array
Reflect.get(["zero", "one"], 1); // "one"
// Proxy with a get handler
var 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));