public static bool JS_IsObject(JSValueConst v) { return(v.tag == JS_TAG_OBJECT); }
public static extern int JS_SetPropertyInt64(JSContext ctx, JSValueConst this_obj, int64_t idx, JSValue val);
public static extern unsafe int JS_SetPropertyStr(JSContext ctx, [In] JSValueConst this_obj, byte *prop, JSValue val);
public static extern void JS_SetConstructor(JSContext ctx, JSValueConst func_obj, JSValueConst proto);
public static int JS_SetProperty(JSContext ctx, JSValueConst this_obj, JSAtom prop, JSValue val) { return(JS_SetPropertyInternal(ctx, this_obj, prop, val, (int)JSPropFlags.JS_PROP_THROW)); }
public static extern JS_BOOL JS_IsFunction(JSContext ctx, JSValueConst val);
public static extern JS_BOOL JS_SetConstructorBit(JSContext ctx, JSValueConst func_obj, JS_BOOL val);
public static extern JSValue JS_GetPropertyInternal(JSContext ctx, JSValueConst obj, JSAtom prop, JSValueConst receiver, JS_BOOL throw_ref_error);
// 增引用, 需要 FreeValue public static JSValue JS_GetProperty(JSContext ctx, JSValueConst this_obj, JSAtom prop) { return(JS_GetPropertyInternal(ctx, this_obj, prop, this_obj, 0)); }
public static extern int JS_IsInstanceOf(JSContext ctx, JSValueConst val, JSValueConst obj);
public static extern JSValue JS_GetPropertyUint32(JSContext ctx, JSValueConst this_obj, uint32_t idx);
public static extern IntPtr JS_GetArrayBuffer(JSContext ctx, out size_t psize, JSValueConst obj);
public static extern JSValue JS_DupValueRT(JSRuntime rt, JSValueConst v);
public static extern JSValue JS_DupValue(JSContext ctx, JSValueConst v);
public static extern JSValue JS_NewObjectProtoClass(JSContext ctx, JSValueConst proto, JSClassID class_id);
public static extern unsafe int JS_GetOwnProperty(JSContext ctx, [In] JSPropertyDescriptor *desc, JSValueConst obj, JSAtom prop);
public static extern JSValue JS_NewObjectProto(JSContext ctx, JSValueConst proto);
public static extern JSValue JSB_NewPropertyObjectStr(JSContext ctx, JSValueConst this_obj, [MarshalAs(UnmanagedType.LPStr)] string name, JSPropFlags flags);
public static extern JS_BOOL JS_IsConstructor(JSContext ctx, JSValueConst val);
public static extern JSValue JSB_NewPropertyObject(JSContext ctx, JSValueConst this_obj, JSAtom name, JSPropFlags flags);
public static extern int JS_IsArray(JSContext ctx, JSValueConst val);
public static extern JSValue JS_GetPropertyStr(JSContext ctx, JSValueConst this_obj, [MarshalAs(UnmanagedType.LPStr)] string prop);
public static extern int JS_SetPropertyInternal(JSContext ctx, JSValueConst this_obj, JSAtom prop, JSValue val, int flags);
public static extern int JS_DefinePropertyValueStr(JSContext ctx, JSValueConst this_obj, [MarshalAs(UnmanagedType.LPStr)] string prop, JSValue val, JSPropFlags flags);
public static extern int JS_SetPropertyUint32(JSContext ctx, JSValueConst this_obj, uint32_t idx, JSValue val);
public static extern int JS_DefinePropertyValue(JSContext ctx, JSValueConst this_obj, JSAtom prop, JSValue val, JSPropFlags flags);
public static extern int JS_SetPropertyStr(JSContext ctx, [In] JSValueConst this_obj, [MarshalAs(UnmanagedType.LPStr)] string prop, JSValue val);
public static extern JSAtom JS_ValueToAtom(JSContext ctx, JSValueConst val);
public static extern int JS_HasProperty(JSContext ctx, JSValueConst this_obj, JSAtom prop);
public static bool JS_IsSymbol(JSValueConst v) { return(v.tag == JS_TAG_SYMBOL); }