Skip to main content
As a beginner, it’s hard to get to a point where you are confident enough in your programming abilities. While learning to code, you might also be confused at where does JavaScript end, and where Node.js begins, and vice versa.

Lexical Structure

The basic syntax and grammar rules of JavaScript.

Expressions

Operators and how expressions are evaluated.

Data Types

Primitives, objects, and type coercion.

Classes

Object-oriented programming with ES6 classes.

Variables

Declaring and using variables with var, let, and const.

Functions

Defining and invoking functions.

`this` operator

How this is bound in different contexts.

Arrow Functions

Concise function syntax and lexical this.

Loops

Iterating with for, while, and related constructs.

Scopes

Block, function, and global scope rules.

Arrays

Creating and manipulating arrays.

Template Literals

String interpolation with backtick syntax.

Strict Mode

Opting into a restricted variant of JavaScript.

ECMAScript 2015 (ES6) and beyond

Modern JavaScript features supported by Node.js.

Asynchronous JavaScript

Non-blocking code and the async model.
With those concepts in mind, you are well on your road to become a proficient JavaScript developer, in both the browser and in Node.js.

Asynchronous programming

The following concepts are also key to understand asynchronous programming, which is one of the fundamental parts of Node.js:

Asynchronous programming and callbacks

Introduction to async code and callback patterns.

Timers

Scheduling code execution with setTimeout and setInterval.

Promises

Handling async operations with the Promise API.

Async and Await

Writing async code in a synchronous style.

Closures

Functions that retain access to their lexical scope.

The Event Loop

How JavaScript handles concurrency and async tasks.

Build docs developers (and LLMs) love