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

# init()

Initializes a new JavaScript context.

## Declaration

```swift
init!()
```

## Return Value

Return Value A new JavaScript context.

## Discussion

Discussion This initializer creates a context along with a new, independent virtual machine (a JSVirtualMachine object). You cannot pass JavaScript values (JSValue objects) between contexts in different virtual machines. To create contexts that share a virtual machine, use the init(virtualMachine:) initializer.

## See Also

### Creating JavaScript contexts

- [init(virtualMachine:)](javascriptcore/jscontext/init(virtualmachine:).md)
