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_THREADSAFE build, the caller must be in a request on this JSContext.
obj JS::HandleObject Object to search on for the property.
id or index JS::HandleId or uint32_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, *vp receives the current value of the property, or undefined if 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.

See Also