---
title: JavaScriptCore
framework: JavaScriptCore
role: collection
role_heading: Framework
platforms: [iOS 16.0+, iPadOS 16.0+, Mac Catalyst 13.0+, macOS 10.5+, tvOS 9.0+, visionOS 1.0+]
path: javascriptcore
---

# JavaScriptCore

Evaluate JavaScript programs from within an app, and support JavaScript scripting of your app.

## Overview

Overview The JavaScriptCore framework provides the ability to evaluate JavaScript programs from within Swift, Objective-C, and C-based apps. You can use also use JavaScriptCore to insert custom objects into the JavaScript environment.

## Topics

### Execution Environment

- [JSVirtualMachine](javascriptcore/jsvirtualmachine.md)
- [JSContext](javascriptcore/jscontext.md)

### JavaScript Code

- [JSValue](javascriptcore/jsvalue.md)
- [JSManagedValue](javascriptcore/jsmanagedvalue.md)

### Native Code

- [JSExport](javascriptcore/jsexport.md)

### C API

- [C JavaScriptCore API](javascriptcore/c-javascriptcore-api.md)

### Reference

- [JavaScriptCore Constants](javascriptcore/javascriptcore-constants.md)

### Variables

- [kJSTypeBigInt](javascriptcore/kjstypebigint.md)

### Functions

- [JSBigIntCreateWithDouble(_:_:_:)](javascriptcore/jsbigintcreatewithdouble(_:_:_:).md)
- [JSBigIntCreateWithInt64(_:_:_:)](javascriptcore/jsbigintcreatewithint64(_:_:_:).md)
- [JSBigIntCreateWithString(_:_:_:)](javascriptcore/jsbigintcreatewithstring(_:_:_:).md)
- [JSBigIntCreateWithUInt64(_:_:_:)](javascriptcore/jsbigintcreatewithuint64(_:_:_:).md)
- [JSValueCompare(_:_:_:_:)](javascriptcore/jsvaluecompare(_:_:_:_:).md)
- [JSValueCompareDouble(_:_:_:_:)](javascriptcore/jsvaluecomparedouble(_:_:_:_:).md)
- [JSValueCompareInt64(_:_:_:_:)](javascriptcore/jsvaluecompareint64(_:_:_:_:).md)
- [JSValueCompareUInt64(_:_:_:_:)](javascriptcore/jsvaluecompareuint64(_:_:_:_:).md)
- [JSValueIsBigInt(_:_:)](javascriptcore/jsvalueisbigint(_:_:).md)
- [JSValueToInt32(_:_:_:)](javascriptcore/jsvaluetoint32(_:_:_:).md)
- [JSValueToInt64(_:_:_:)](javascriptcore/jsvaluetoint64(_:_:_:).md)
- [JSValueToUInt32(_:_:_:)](javascriptcore/jsvaluetouint32(_:_:_:).md)
- [JSValueToUInt64(_:_:_:)](javascriptcore/jsvaluetouint64(_:_:_:).md)

### Enumerations

- [JSRelationCondition](javascriptcore/jsrelationcondition.md)
