Determine whether a JavaScript object has a specified property.
Syntax
bool
JS_HasProperty(JSContext *cx, JS::HandleObject obj, const char *name,
               bool *foundp);
bool
JS_HasUCProperty(JSContext *cx, JS::HandleObject obj,
                 const char16_t *name, size_t namelen,
                 bool *vp);
bool
JS_HasPropertyById(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
                   bool *foundp); // Added in SpiderMonkey 1.8.1
| 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. | 
| nameorid | const char *orconst char16_t or  | Name of the property to look up. | 
| namelen | size_t | (only in JS_HasUCProperty) The length ofnamein characters, or-1to indicate thatnameis null-terminated. | 
| foundp | bool * | Non-null pointer to a variable of type bool. On success,JS_HasPropertystorestruein this variable ifobjhas a property with the givenname, andfalseif not. | 
Description
JS_HasProperty searches an object, obj, and its prototype chain, for a property with the specified name. It behaves like the JavaScript expression name in obj. JS_HasUCProperty is the corresponding Unicode API. JS_HasPropertyById is the same but takes a JS::HandleId for the property name.
If the property exists, this function sets *foundp to true and returns true.
If the object obj has no such property, the function sets *foundp to false and returns true (to indicate that no error occurred).
If an error occurs during the search, the function returns false, and the value of *foundp is undefined.