---
title: JSValueRef
framework: javascriptcore
role: symbol
role_heading: Type Alias
path: javascriptcore/jsvalueref
---

# JSValueRef

A JavaScript value.

## Declaration

```swift
typealias JSValueRef = OpaquePointer
```

## Discussion

Discussion This is the base type for all JavaScript values, and polymorphic functions on them.

## Topics

### Testing the Value’s Type

- [JSValueGetType(_:_:)](javascriptcore/jsvaluegettype(_:_:).md)
- [JSValueIsUndefined(_:_:)](javascriptcore/jsvalueisundefined(_:_:).md)
- [JSValueIsNull(_:_:)](javascriptcore/jsvalueisnull(_:_:).md)
- [JSValueIsBoolean(_:_:)](javascriptcore/jsvalueisboolean(_:_:).md)
- [JSValueIsNumber(_:_:)](javascriptcore/jsvalueisnumber(_:_:).md)
- [JSValueIsString(_:_:)](javascriptcore/jsvalueisstring(_:_:).md)
- [JSValueIsSymbol(_:_:)](javascriptcore/jsvalueissymbol(_:_:).md)
- [JSValueIsObject(_:_:)](javascriptcore/jsvalueisobject(_:_:).md)
- [JSValueIsObjectOfClass(_:_:_:)](javascriptcore/jsvalueisobjectofclass(_:_:_:).md)
- [JSValueIsArray(_:_:)](javascriptcore/jsvalueisarray(_:_:).md)
- [JSValueIsDate(_:_:)](javascriptcore/jsvalueisdate(_:_:).md)
- [JSValueGetTypedArrayType(_:_:_:)](javascriptcore/jsvaluegettypedarraytype(_:_:_:).md)
- [JSType](javascriptcore/jstype.md)

### Creating Values

- [JSValueMakeUndefined(_:)](javascriptcore/jsvaluemakeundefined(_:).md)
- [JSValueMakeNull(_:)](javascriptcore/jsvaluemakenull(_:).md)
- [JSValueMakeBoolean(_:_:)](javascriptcore/jsvaluemakeboolean(_:_:).md)
- [JSValueMakeNumber(_:_:)](javascriptcore/jsvaluemakenumber(_:_:).md)
- [JSValueMakeString(_:_:)](javascriptcore/jsvaluemakestring(_:_:).md)
- [JSValueMakeSymbol(_:_:)](javascriptcore/jsvaluemakesymbol(_:_:).md)

### Converting to Primitive Values

- [JSValueToBoolean(_:_:)](javascriptcore/jsvaluetoboolean(_:_:).md)
- [JSValueToNumber(_:_:_:)](javascriptcore/jsvaluetonumber(_:_:_:).md)
- [JSValueToStringCopy(_:_:_:)](javascriptcore/jsvaluetostringcopy(_:_:_:).md)
- [JSValueToObject(_:_:_:)](javascriptcore/jsvaluetoobject(_:_:_:).md)

### Converting to and from JSON-Formatted Strings

- [JSValueMakeFromJSONString(_:_:)](javascriptcore/jsvaluemakefromjsonstring(_:_:).md)
- [JSValueCreateJSONString(_:_:_:_:)](javascriptcore/jsvaluecreatejsonstring(_:_:_:_:).md)

### Comparing Values

- [JSValueIsEqual(_:_:_:_:)](javascriptcore/jsvalueisequal(_:_:_:_:).md)
- [JSValueIsStrictEqual(_:_:_:)](javascriptcore/jsvalueisstrictequal(_:_:_:).md)
- [JSValueIsInstanceOfConstructor(_:_:_:_:)](javascriptcore/jsvalueisinstanceofconstructor(_:_:_:_:).md)

### Supporting Garbage Collection

- [JSValueProtect(_:_:)](javascriptcore/jsvalueprotect(_:_:).md)
- [JSValueUnprotect(_:_:)](javascriptcore/jsvalueunprotect(_:_:).md)

## See Also

### JavaScript Data Types

- [JSObjectRef](javascriptcore/jsobjectref.md)
