Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nusr/jsjs

JavaScript interpret JavaScript.Zero dependencies.
https://github.com/nusr/jsjs

interpreter no-dependencies typescript zero-dependencies zero-dependency

Last synced: about 2 months ago
JSON representation

JavaScript interpret JavaScript.Zero dependencies.

Awesome Lists containing this project

README

        

# JavaScript interpret JavaScript.

[![ci status](https://github.com/nusr/jsjs/actions/workflows/main.yml/badge.svg)](https://github.com/nusr/jsjs/actions/workflows/main.yml)
[![codecov](https://codecov.io/gh/nusr/jsjs/branch/main/graph/badge.svg?token=ZOC8RHD3Z1)](https://codecov.io/gh/nusr/jsjs)
![GitHub](https://img.shields.io/github/license/nusr/jsjs.svg)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/nusr/jsjs.svg)

Zero dependencies.

## Start

```bash
npm install
npm run start
```

## Test

```bash
npm run test
```

## Support features

[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)

#### Expressions & operators

* [x] Addition (+)
* [x] Addition assignment (+=)
* [x] Assignment (=)
* [ ] async function expression
* [ ] async function* expression
* [ ] await
* [x] Bitwise AND (&)
* [x] Bitwise AND assignment (&=)
* [x] Bitwise NOT (~)
* [x] Bitwise OR (|)
* [x] Bitwise OR assignment (|=)
* [x] Bitwise XOR (^)
* [x] Bitwise XOR assignment (^=)
* [x] class expression
* [ ] Comma operator (,)
* [ ] Conditional (ternary) operator
* [x] Decrement (--)
* [x] delete operator
* [ ] Destructuring assignment
* [x] Division (/)
* [x] Division assignment (/=)
* [x] Equality (==)
* [x] Exponentiation (**)
* [x] Exponentiation assignment (**=)
* [x] Function expression
* [ ] function* expression
* [x] Greater than (>)
* [x] Greater than or equal (>=)
* [x] Grouping operator ( )
* [ ] import
* [ ] import.meta
* [x] in operator
* [x] Increment (++)
* [x] Inequality (!=)
* [ ] instanceof
* [x] Left shift (<<)
* [x] Left shift assignment (<<=)
* [x] Less than (<)
* [x] Less than or equal (<=)
* [x] Logical AND (&&)
* [x] Logical AND assignment (&&=)
* [x] Logical NOT (!)
* [X] Logical nullish assignment (??=)
* [x] Logical OR (||)
* [x] Logical OR assignment (||=)
* [x] Multiplication (*)
* [x] Multiplication assignment (*=)
* [x] new operator
* [ ] new.target
* [x] null
* [X] Nullish coalescing operator (??)
* [x] Object initializer
* [x] Operator precedence
* [ ] Optional chaining (?.)
* [x] Property accessors
* [x] Remainder (%)
* [x] Remainder assignment (%=)
* [x] Right shift (>>)
* [x] Right shift assignment (>>=)
* [ ] Spread syntax (...)
* [x] Strict equality (===)
* [x] Strict inequality (!==)
* [x] Subtraction (-)
* [x] Subtraction assignment (-=)
* [x] super
* [x] this
* [x] typeof
* [x] Unary negation (-)
* [x] Unary plus (+)
* [x] Unsigned right shift (>>>)
* [x] Unsigned right shift assignment (>>>=)
* [x] void operator
* [ ] yield
* [ ] yield*

#### Statements & declarations

* [ ] async function
* [ ] async function*
* [x] block
* [ ] break
* [x] class
* [ ] const
* [ ] continue
* [ ] debugger
* [x] do...while
* [ ] empty
* [ ] export
* [x] for
* [ ] for await...of
* [ ] for...in
* [ ] for...of
* [x] function declaration
* [ ] function*
* [x] if...else
* [ ] import
* [ ] label
* [ ] let
* [x] return
* [ ] switch
* [ ] throw
* [ ] try...catch
* [x] var
* [x] while
* [ ] with

#### Functions

* [ ] The arguments object
* [ ] Arrow function expressions
* [ ] Default parameters
* [ ] getter
* [x] Method definitions
* [ ] Rest parameters
* [ ] setter

#### Classes

* [ ] Class static initialization blocks
* [x] constructor
* [x] extends
* [ ] Private class features
* [x] Public class fields
* [x] static