## JavaScript: Nashorn

Nashorn is a JavaScript interpreter that comes as part of your Java runtime. Its status is currently unclear as it is deprecated since Java 11. However up to Java 14 it is still available. Nashorn does not provide a dedicated debug framework, therefore scripts can only be executed and not launched in debug mode using this engine. Due to the nature of the Nashorn implementation in Java, a debugger implementation in EASE is impossible.

### JavaScript Compatibility

Nashorn claims to be fully compatible with ECMAScript 5.1 and includes some language features from ECMAScript 6.

### Special language features

#### Built-in libraries

Nashorn comes with some standard libraries:

- Array
- Number
- Math
- Date
- String
- RegExp
- JSON

#### Java class interaction

Java classes on the classpath can directly be used when accessed with their full qualified name (eg. java.io.File). Typical top level package names will be detected automatically, eg com.*, org.*, java.*. In case your package is not detected as it may start with an unusual top level name, you may access it via the Packages.<full qualified name> syntax.