This article covers features introduced in SpiderMonkey 17
Find a specified property and retrieve its value.
Syntax
bool
JS_ForwardGetPropertyTo(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
                        JS::HandleObject onBehalfOf, JS::MutableHandleValue vp);
bool
JS_ForwardGetElementTo(JSContext *cx, JS::HandleObject obj, uint32_t index,
                       JS::HandleObject onBehalfOf, JS::MutableHandleValue vp);
| Name | Type | Description | 
|---|---|---|
| cx | JSContext * | A context. Requires request. In a JS_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| obj | JS::HandleObject | Object to search on for the property. | 
| idorindex | JS::HandleIdoruint32_t | Name or index of the property to look up. | 
| onBehalfOf | JS::HandleObject | Object to receive getter invocation. | 
| vp | JS::MutableHandleValue | Out parameter. On success, *vpreceives the current value of the property, orundefinedif no such property is found. | 
Description
JS_ForwardGetPropertyTo is the base implementation of JS_GetProperty, JS_GetUCProperty, JS_GetPropertyById etc, where onBehalfOf is same to obj.
onBehalfOf is Receiver in [[Get]] internal method of Proxy, defined in ES2015 draft spec (rev 29, 9.5.8).
On success, these functions set *vp to the current value of the property, or undefined if obj has no such property, and return true. On an error or exception, these functions return false, and the value left in *vp is undefined.