理解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));
发表回复