This method is used to get an object's list of direct properties. It corresponds to the JavaScript's Reflect.ownKeys()
function.
Observer.ownKeys()
brings the added benefit of triggering interceptors.
// Show all keys.
let keys = Observer.ownKeys(obj);
Parameters
obj
- an object or array.
Return Value
Array
let obj = {
fruit:'orange',
brand:'apple',
};
let keys = Observer.ownKeys(obj);
Observer.ownKeys()
can be used as the "ownKeys" handler in Proxy traps.
let _obj = new Proxy(obj, {ownKeys: Observer.ownKeys});
let _arr = new Proxy(arr, {ownKeys: Observer.ownKeys});
Show keys operations will now be forwarded to Observer.ownKeys()
and interceptors that may be bound to the object will continue to respond.
let keys = Reflect.ownKeys(_obj);
let keys = Reflect.ownKeys(_arr);
Using Observer.intercept()
, it is possible to intercept calls to Observer.ownKeys()
.
Observer.intercept(obj, 'keys', (event, recieved, next) => {
// The read operation
return Reflect.ownKeys(obj);
});
let keys = Observer.ownKeys(obj);