

What is Node.js?
The following list describes Node.js:
Node.js is a server-side runtime environment for JavaScript.
Node.js is built on Google’s V8 JavaScript engine.
Node.js uses an asynchronous, event-driven programming model
Node.js is single threaded and highly scalable
Node.js is best suited for web applications
Node.js is open-source with a huge community
Node.js is has many available libraries (Node Modules) via NPM library
The Node run-time environment includes everything you need to execute a program written in JavaScript.

Node.js is an extension of Javascript running in the browser to run on your machine as a standalone application.
Both your browser JavaScript and Node.js run on the V8 JavaScript runtime engine. This engine takes your JavaScript code and converts it into a faster machine code. Machine code is low-level code which the computer can run without needing to first interpret it.
Synchronous versus Asynchronous Processing
Watch this video to learn about Synchronous versus Asynchronous processing.
Node.js Event Loop

Node.js uses an asynchronous and non-blocking programming model.
The event loop executes tasks from the event queue and starts the callbacks.
If the queue is empty, the event loop process stops and gives back system resource.
Node modules run in an asynchronous mode by default. If you need synchronous processing, you can use the Node library.