Duktape (http://duktape.org/) – A small footprint, easily embeddable Ecmascript E5/E5.1 engine.
Espruino (http://www.espruino.com/) – A very small footprint interpreter specifically for microcontrollers. Can run in less than 8 kB of RAM by executing from source (rather than bytecode).
JerryScript (https://github.com/jerryscript-project/jerryscript) – A very small interpreter developed by Samsung for IoT application.
MuJS (https://mujs.com/) – A lightweight ECMAScript interpreter library, designed for embedding in other software to extend them with scripting capabilities. Originally developed for MuPDF.
Throwback (https://github.com/getfilament/throwback) – The smallest JS engine for microcontroller, still in early stage of development
So, we have at least 6 JS engine options to use with microcontrollers. From this listing I think JerryScript is a step ahead, but Throwback could to evolve and be a real alternative for deep embedded systems.