Skip to content
This repository has been archived by the owner on Dec 17, 2021. It is now read-only.

Latest commit

 

History

History
72 lines (48 loc) · 1.67 KB

ownkeys.md

File metadata and controls

72 lines (48 loc) · 1.67 KB

Observer.ownKeys()

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.

Syntax

// Show all keys.
let keys = Observer.ownKeys(obj);

Parameters

  • obj - an object or array.

Return Value

Array

Usage

let obj = {
    fruit:'orange',
    brand:'apple',
};

let keys = Observer.ownKeys(obj);

Usage as a Trap's "ownKeys" Handler

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);

Intercepting Observer.ownKeys()

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);

Related Methods