---
title: JSObjectRef
framework: javascriptcore
role: symbol
role_heading: Type Alias
path: javascriptcore/jsobjectref
---

# JSObjectRef

A JavaScript object.

## Declaration

```swift
typealias JSObjectRef = OpaquePointer
```

## Discussion

Discussion A JSObjectRef is a JSValueRef.

## Topics

### Accessing the Global Object

- [JSContextGetGlobalObject(_:)](javascriptcore/jscontextgetglobalobject(_:).md)

### Working with Objects

- [JSObjectCallAsConstructor(_:_:_:_:_:)](javascriptcore/jsobjectcallasconstructor(_:_:_:_:_:).md)
- [JSObjectCallAsFunction(_:_:_:_:_:_:)](javascriptcore/jsobjectcallasfunction(_:_:_:_:_:_:).md)
- [JSObjectCopyPropertyNames(_:_:)](javascriptcore/jsobjectcopypropertynames(_:_:).md)
- [JSObjectDeleteProperty(_:_:_:_:)](javascriptcore/jsobjectdeleteproperty(_:_:_:_:).md)
- [JSObjectGetPrivate(_:)](javascriptcore/jsobjectgetprivate(_:).md)
- [JSObjectGetProperty(_:_:_:_:)](javascriptcore/jsobjectgetproperty(_:_:_:_:).md)
- [JSObjectGetPropertyAtIndex(_:_:_:_:)](javascriptcore/jsobjectgetpropertyatindex(_:_:_:_:).md)
- [JSObjectGetPrototype(_:_:)](javascriptcore/jsobjectgetprototype(_:_:).md)
- [JSObjectHasProperty(_:_:_:)](javascriptcore/jsobjecthasproperty(_:_:_:).md)
- [JSObjectIsConstructor(_:_:)](javascriptcore/jsobjectisconstructor(_:_:).md)
- [JSObjectIsFunction(_:_:)](javascriptcore/jsobjectisfunction(_:_:).md)
- [JSObjectMake(_:_:_:)](javascriptcore/jsobjectmake(_:_:_:).md)
- [JSObjectMakeArray(_:_:_:_:)](javascriptcore/jsobjectmakearray(_:_:_:_:).md)
- [JSObjectMakeConstructor(_:_:_:)](javascriptcore/jsobjectmakeconstructor(_:_:_:).md)
- [JSObjectMakeDate(_:_:_:_:)](javascriptcore/jsobjectmakedate(_:_:_:_:).md)
- [JSObjectMakeError(_:_:_:_:)](javascriptcore/jsobjectmakeerror(_:_:_:_:).md)
- [JSObjectMakeFunction(_:_:_:_:_:_:_:_:)](javascriptcore/jsobjectmakefunction(_:_:_:_:_:_:_:_:).md)
- [JSObjectMakeFunctionWithCallback(_:_:_:)](javascriptcore/jsobjectmakefunctionwithcallback(_:_:_:).md)
- [JSObjectMakeRegExp(_:_:_:_:)](javascriptcore/jsobjectmakeregexp(_:_:_:_:).md)
- [JSObjectSetPrivate(_:_:)](javascriptcore/jsobjectsetprivate(_:_:).md)
- [JSObjectSetProperty(_:_:_:_:_:_:)](javascriptcore/jsobjectsetproperty(_:_:_:_:_:_:).md)
- [JSObjectSetPropertyAtIndex(_:_:_:_:_:)](javascriptcore/jsobjectsetpropertyatindex(_:_:_:_:_:).md)
- [JSObjectGetPropertyForKey(_:_:_:_:)](javascriptcore/jsobjectgetpropertyforkey(_:_:_:_:).md)
- [JSObjectSetPrototype(_:_:_:)](javascriptcore/jsobjectsetprototype(_:_:_:).md)
- [JSObjectDeletePropertyForKey(_:_:_:_:)](javascriptcore/jsobjectdeletepropertyforkey(_:_:_:_:).md)
- [JSObjectHasPropertyForKey(_:_:_:_:)](javascriptcore/jsobjecthaspropertyforkey(_:_:_:_:).md)
- [JSObjectSetPropertyForKey(_:_:_:_:_:_:)](javascriptcore/jsobjectsetpropertyforkey(_:_:_:_:_:_:).md)
- [JSObjectMakeDeferredPromise(_:_:_:_:)](javascriptcore/jsobjectmakedeferredpromise(_:_:_:_:).md)

### Working with Classes

- [JSClassCreate(_:)](javascriptcore/jsclasscreate(_:).md)
- [JSClassRelease(_:)](javascriptcore/jsclassrelease(_:).md)
- [JSClassRetain(_:)](javascriptcore/jsclassretain(_:).md)
- [kJSClassDefinitionEmpty](javascriptcore/kjsclassdefinitionempty.md)
- [JSClassDefinition](javascriptcore/jsclassdefinition.md)
- [JSClassAttribute](javascriptcore/jsclassattribute.md)

### Working with Properties

- [JSPropertyNameAccumulatorAddName(_:_:)](javascriptcore/jspropertynameaccumulatoraddname(_:_:).md)
- [JSPropertyNameArrayGetCount(_:)](javascriptcore/jspropertynamearraygetcount(_:).md)
- [JSPropertyNameArrayGetNameAtIndex(_:_:)](javascriptcore/jspropertynamearraygetnameatindex(_:_:).md)
- [JSPropertyNameArrayRelease(_:)](javascriptcore/jspropertynamearrayrelease(_:).md)
- [JSPropertyNameArrayRetain(_:)](javascriptcore/jspropertynamearrayretain(_:).md)
- [JSPropertyAttributes](javascriptcore/jspropertyattributes.md)
- [JSPropertyAttribute](javascriptcore/jspropertyattribute.md)
- [JSPropertyNameArrayRef](javascriptcore/jspropertynamearrayref.md)
- [JSPropertyNameAccumulatorRef](javascriptcore/jspropertynameaccumulatorref.md)

### Creating a Typed Array

- [JSObjectMakeTypedArray(_:_:_:_:)](javascriptcore/jsobjectmaketypedarray(_:_:_:_:).md)
- [JSObjectMakeTypedArrayWithBytesNoCopy(_:_:_:_:_:_:_:)](javascriptcore/jsobjectmaketypedarraywithbytesnocopy(_:_:_:_:_:_:_:).md)
- [JSObjectMakeTypedArrayWithArrayBuffer(_:_:_:_:)](javascriptcore/jsobjectmaketypedarraywitharraybuffer(_:_:_:_:).md)
- [JSObjectMakeTypedArrayWithArrayBufferAndOffset(_:_:_:_:_:_:)](javascriptcore/jsobjectmaketypedarraywitharraybufferandoffset(_:_:_:_:_:_:).md)
- [JSTypedArrayType](javascriptcore/jstypedarraytype.md)
- [JSTypedArrayBytesDeallocator](javascriptcore/jstypedarraybytesdeallocator.md)

### Accessing Typed Array Information

- [JSObjectGetTypedArrayBytesPtr(_:_:_:)](javascriptcore/jsobjectgettypedarraybytesptr(_:_:_:).md)
- [JSObjectGetTypedArrayLength(_:_:_:)](javascriptcore/jsobjectgettypedarraylength(_:_:_:).md)
- [JSObjectGetTypedArrayByteLength(_:_:_:)](javascriptcore/jsobjectgettypedarraybytelength(_:_:_:).md)
- [JSObjectGetTypedArrayByteOffset(_:_:_:)](javascriptcore/jsobjectgettypedarraybyteoffset(_:_:_:).md)
- [JSObjectGetTypedArrayBuffer(_:_:_:)](javascriptcore/jsobjectgettypedarraybuffer(_:_:_:).md)

### Working with Array Buffers

- [JSObjectMakeArrayBufferWithBytesNoCopy(_:_:_:_:_:_:)](javascriptcore/jsobjectmakearraybufferwithbytesnocopy(_:_:_:_:_:_:).md)
- [JSObjectGetArrayBufferByteLength(_:_:_:)](javascriptcore/jsobjectgetarraybufferbytelength(_:_:_:).md)
- [JSObjectGetArrayBufferBytesPtr(_:_:_:)](javascriptcore/jsobjectgetarraybufferbytesptr(_:_:_:).md)

## See Also

### JavaScript Data Types

- [JSValueRef](javascriptcore/jsvalueref.md)
