JS Engine


### Javascript Engine is Single Thread (single call stack) Program
But javascript Runtime is multithread with Javascript Engine ([Memory Heap](https://texonom.com/memory-heap-26e7e6cb8d814064b02758eb19e986df)  [Call Stack](https://texonom.com/call-stack-f041634136c74474bafad41496dff953)), + Event Loop +  Callback Queue ( + web api binding or node library binding)
Event Loop and Callback Queue makes JS runtime runs Asynchronously
Javascript runs with embedded environment like web browser or node js
We can interpret JS Runtime single thread part for concurrency and multi thread part for parallelism
### JS Engines
|Title|
|:-:|
|[V8 Engine](https://texonom.com/v8-engine-3cbc433e816e416ab4efbc713058ff6c)|
|[Boa](https://texonom.com/boa-69d29562485647dea91d780610826df2)|
|[Hermes Engine](https://texonom.com/hermes-engine-aad87f6edeff4daf9dd1902efd6ea025)|
|[jerryscript](https://texonom.com/jerryscript-2f24b17aa75d4997bfbabb3579e10051)|
|[JavaScriptCore](https://texonom.com/javascriptcore-77ed7d17cca94748916c707dc8ece87a)|
|[JScript](https://texonom.com/jscript-4d0b22db662441fe8ff987b57f80d89a)|
|[Rhino js](https://texonom.com/rhino-js-842cbf620b6e4b8194ddb447024baf20)|
|[Spider Monkey](https://texonom.com/spider-monkey-e43f902913c749a49c0ac8b78c33f22d)|
|[Microvium](https://texonom.com/microvium-17f74b141cab4ee69fbd9cd2357fddab)|
|[QuickJS](https://texonom.com/quickjs-e190e5d511e941db8da8801f8de1fe2b)|


### JS Engine Notion
|Title|
|:-:|
|[JS Event Loop](https://texonom.com/js-event-loop-d10b93cadef048b58ceef93fbae21f93)|
|[JS Hoisting](https://texonom.com/js-hoisting-ec2fdd9db2884b13a6ef7a65d5f17cd4)|
|[JS Compile](https://texonom.com/js-compile-9ce0210f5e434e90a3ec47c823907fe7)|
|[JS GSR](https://texonom.com/js-gsr-2e7d95d1b313471aa7767b130ad7e6e2)|



> [Inside the JavaScript Engine](https://blog.devgenius.io/inside-the-javascript-engine-bb7b9f26e84b)






