V8 API Reference Guide for node.js v9.10.0 - v9.11.1
Public Member Functions | List of all members
v8::PropertyDescriptor Class Reference

#include <v8.h>

Public Member Functions

 PropertyDescriptor (Local< Value > value)
 
 PropertyDescriptor (Local< Value > value, bool writable)
 
 PropertyDescriptor (Local< Value > get, Local< Value > set)
 
Local< Valuevalue () const
 
bool has_value () const
 
Local< Valueget () const
 
bool has_get () const
 
Local< Valueset () const
 
bool has_set () const
 
void set_enumerable (bool enumerable)
 
bool enumerable () const
 
bool has_enumerable () const
 
void set_configurable (bool configurable)
 
bool configurable () const
 
bool has_configurable () const
 
bool writable () const
 
bool has_writable () const
 
PrivateData * get_private () const
 
 PropertyDescriptor (const PropertyDescriptor &)=delete
 
void operator= (const PropertyDescriptor &)=delete
 

Detailed Description

An instance of a Property Descriptor, see Ecma-262 6.2.4.

Properties in a descriptor are present or absent. If you do not set enumerable, configurable, and writable, they are absent. If value, get, or set are absent, but you must specify them in the constructor, use empty handles.

Accessors get and set must be callable or undefined if they are present.

Note
Only query properties if they are present, i.e., call x() only if has_x() returns true.
// var desc = {writable: false}
v8::PropertyDescriptor d(Local<Value>()), false);
d.value(); // error, value not set
if (d.has_writable()) {
d.writable(); // false
}
// var desc = {value: undefined}
v8::PropertyDescriptor d(v8::Undefined(isolate));
// var desc = {get: undefined}
v8::PropertyDescriptor d(v8::Undefined(isolate), Local<Value>()));

The documentation for this class was generated from the following file: