<!--
{
  "documentType" : "article",
  "framework" : "JavaScriptCore",
  "identifier" : "/documentation/JavaScriptCore/c-javascriptcore-api",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "C JavaScriptCore API"
}
-->

# C JavaScriptCore API

Browse the alternative C-based APIs for JavaScriptCore.

## Topics

### JavaScriptCore Engine Interface

[`JSContextGroupRef`](/documentation/JavaScriptCore/JSContextGroupRef)

A group that associates JavaScript contexts with one another.

[`JSContextRef`](/documentation/JavaScriptCore/JSContextRef)

A JavaScript execution context.

[`JSGlobalContextRef`](/documentation/JavaScriptCore/JSGlobalContextRef)

A global JavaScript execution context.

[`JSStringRef`](/documentation/JavaScriptCore/JSStringRef)

A UTF-16 character buffer.

[`JSClassRef`](/documentation/JavaScriptCore/JSClassRef)

A JavaScript class.

### JavaScript Data Types

[`JSValueRef`](/documentation/JavaScriptCore/JSValueRef)

A JavaScript value.

[`JSObjectRef`](/documentation/JavaScriptCore/JSObjectRef)

A JavaScript object.

### Script Evaluation

[`JSCheckScriptSyntax(_:_:_:_:_:)`](/documentation/JavaScriptCore/JSCheckScriptSyntax(_:_:_:_:_:))

Checks for syntax errors in a string of JavaScript.

[`JSEvaluateScript(_:_:_:_:_:_:)`](/documentation/JavaScriptCore/JSEvaluateScript(_:_:_:_:_:_:))

Evaluates a string of JavaScript.

[`JSGarbageCollect(_:)`](/documentation/JavaScriptCore/JSGarbageCollect(_:))

Performs a JavaScript garbage collection.

### Constants

[`JSC_OBJC_API_ENABLED`](/documentation/JavaScriptCore/JSC_OBJC_API_ENABLED)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)