# JavaScriptCore Evaluate JavaScript programs from within an app, and support JavaScript scripting of your app. ## 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`](/documentation/JavaScriptCore/JSVirtualMachine) A self-contained environment for JavaScript execution. [`JSContext`](/documentation/JavaScriptCore/JSContext) A JavaScript execution environment. ### JavaScript Code [`JSValue`](/documentation/JavaScriptCore/JSValue) A JavaScript value. [`JSManagedValue`](/documentation/JavaScriptCore/JSManagedValue) A JavaScript value with conditional retain behavior to provide automatic memory management. ### Native Code [`JSExport`](/documentation/JavaScriptCore/JSExport) The protocol for exporting Objective-C objects to JavaScript. ### C API [C JavaScriptCore API](/documentation/JavaScriptCore/c-javascriptcore-api) Browse the alternative C-based APIs for JavaScriptCore. ### Reference [JavaScriptCore Constants](/documentation/JavaScriptCore/javascriptcore-constants) --- Copyright © 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)