---
title: init()
framework: javascriptcore
role: symbol
role_heading: Initializer
path: javascriptcore/jsvirtualmachine/init()
---

# init()

Initializes a JavaScript virtual machine.

## Declaration

```swift
init!()
```

## Return Value

Return Value A new, independent JavaScript virtual machine.

## Discussion

Discussion Use this initializer to create a virtual machine for use with more than one JavaScript context. By default, creating a JSContext object automatically creates an independent virtual machine—to share a virtual machine between contexts, obtain a JSVirtualMachine instance and then create contexts using the init(virtualMachine:) initializer.
