贵州桥梁集团建设有限公司网站,在线印章生成器,网站的商桥怎么做,淮北市官网属性描述符#xff08;Property Descriptor#xff09;
Napi::Object 可通过其 DefineProperty 和 DefineProperties 方法为自身分配属性#xff0c;这两个方法均接收 PropertyDescriptor#xff08;属性描述符#xff09;作为参数。Napi::PropertyDescriptor 可包含值或…属性描述符Property DescriptorNapi::Object可通过其DefineProperty和DefineProperties方法为自身分配属性这两个方法均接收PropertyDescriptor属性描述符作为参数。Napi::PropertyDescriptor可包含值或函数这些值 / 函数会被分配给目标Napi::Object。请注意单个Napi::PropertyDescriptor类实例只能包含一个值或最多两个函数属性描述符仅能通过该类的Accessor、Function或Value方法创建 —— 这些方法都会返回一个新的Napi::PropertyDescriptor静态实例。示例#include napi.h using namespace Napi; Value TestGetter(const CallbackInfo info) { return Boolean::New(info.Env(), testValue); } void TestSetter(const CallbackInfo info) { testValue info[0].AsBoolean(); } Value TestFunction(const CallbackInfo info) { return Boolean::New(info.Env(), true); } void Init(Env env) { // 创建一个对象 Object obj Object::New(env); // 只读访问器 PropertyDescriptor pd1 PropertyDescriptor::AccessorTestGetter(pd1); // 读写访问器 PropertyDescriptor pd2 PropertyDescriptor::AccessorTestGetter, TestSetter(pd2); // 函数属性 PropertyDescriptor pd3 PropertyDescriptor::Function(env, function, TestFunction); // 值属性 Boolean true_bool Boolean::New(env, true); PropertyDescriptor pd4 PropertyDescriptor::Value(boolean value, Napi::Boolean::New(env, true), napi_writable); // 为对象批量定义属性 obj.DefineProperties({pd1, pd2, pd3, pd4}); }类型TypesPropertyDescriptor::GetterCallbackusing GetterCallback Napi::Value (*)(const Napi::CallbackInfo info);这是作为模板参数传递给PropertyDescriptor::Accessor的获取器函数签名。PropertyDescriptor::SetterCallbackusing SetterCallback void (*)(const Napi::CallbackInfo info);这是作为模板参数传递给PropertyDescriptor::Accessor的设置器函数签名。方法Methods构造函数ConstructorNapi::PropertyDescriptor::PropertyDescriptor (napi_property_descriptor desc);[in] desc用于创建新属性描述符的napi_property_descriptor实例。Accessor访问器template Napi::PropertyDescriptor::GetterCallback Getter static Napi::PropertyDescriptor Napi::PropertyDescriptor::Accessor (___ name, napi_property_attributes attributes napi_default, void* data nullptr);[模板参数] Getter获取器函数。[in] attributes获取器函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含只读属性的属性描述符。属性名称支持以下类型const char*const std::string napi_value valueNapi::Nametemplate Napi::PropertyDescriptor::GetterCallback Getter, Napi::PropertyDescriptor::SetterCallback Setter static Napi::PropertyDescriptor Napi::PropertyDescriptor::Accessor (___ name, napi_property_attributes attributes napi_default, void* data nullptr);[模板参数] Getter获取器函数。[模板参数] Setter设置器函数。[in] attributes获取器函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含读写属性的属性描述符。属性名称支持以下类型const char*const std::string napi_value valueNapi::Namestatic Napi::PropertyDescriptor Napi::PropertyDescriptor::Accessor (___ name, Getter getter, napi_property_attributes attributes napi_default, void *data nullptr);[in] name获取器函数的名称。[in] getter获取器函数。[in] attributes获取器函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含单个函数的属性描述符。属性名称支持以下类型const char*const std::string napi_value valueNapi::Name⚠️ 注意该签名已废弃使用会导致内存泄漏。static Napi::PropertyDescriptor Napi::PropertyDescriptor::Accessor ( Napi::Env env, Napi::Object object, ___ name, Getter getter, napi_property_attributes attributes napi_default, void *data nullptr);[in] env创建该访问器的运行环境。[in] object要定义访问器的目标对象。[in] name获取器函数的名称。[in] getter获取器函数。[in] attributes获取器函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含 Getter 访问器的Napi::PropertyDescriptor。属性名称支持以下类型const char*const std::string Napi::Namestatic Napi::PropertyDescriptor Napi::PropertyDescriptor::Accessor (___ name, Getter getter, Setter setter, napi_property_attributes attributes napi_default, void *data nullptr);[in] name获取器和设置器函数的名称。[in] getter获取器函数。[in] setter设置器函数。[in] attributes获取器函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含 Getter 和 Setter 函数的属性描述符。属性名称支持以下类型const char*const std::string napi_value valueNapi::Name⚠️ 注意该签名已废弃使用会导致内存泄漏。static Napi::PropertyDescriptor Napi::PropertyDescriptor::Accessor ( Napi::Env env, Napi::Object object, ___ name, Getter getter, Setter setter, napi_property_attributes attributes napi_default, void *data nullptr);[in] env创建该访问器的运行环境。[in] object要定义访问器的目标对象。[in] name获取器和设置器函数的名称。[in] getter获取器函数。[in] setter设置器函数。[in] attributes获取器函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含 Getter 和 Setter 函数的Napi::PropertyDescriptor。属性名称支持以下类型const char*const std::string Napi::NameFunction函数static Napi::PropertyDescriptor Napi::PropertyDescriptor::Function (___ name, Callable cb, napi_property_attributes attributes napi_default, void *data nullptr);[in] name可调用函数的名称。[in] cb目标函数。[in] attributes函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含可调用Napi::Function的属性描述符。属性名称支持以下类型const char*const std::string napi_value valueNapi::Name⚠️ 注意该签名已废弃使用会导致内存泄漏。static Napi::PropertyDescriptor Napi::PropertyDescriptor::Function ( Napi::Env env, ___ name, Callable cb, napi_property_attributes attributes napi_default, void *data nullptr);[in] env创建该函数属性的运行环境。[in] name可调用函数的名称。[in] cb目标函数。[in] attributes函数的特性标志可选。[in] data任意类型的数据指针默认值为空指针。返回包含可调用Napi::Function的Napi::PropertyDescriptor。属性名称支持以下类型const char*const std::string Napi::NameValue值static Napi::PropertyDescriptor Napi::PropertyDescriptor::Value (___ name, napi_value value, napi_property_attributes attributes napi_default);属性名称支持以下类型const char*const std::string napi_value valueNapi::Name相关信息Related Informationnapi_property_attributesnapi_property_attributes是一组标志用于告知 JavaScript 该属性应具备的访问权限。可选标志如下napi_default默认权限napi_writable可写napi_enumerable可枚举napi_configurable可配置如需了解这些标志及napi_property_attributes的更多细节请参考此处。