CodeRigor

FREE COURSE / REAL PRACTICE

JavaScript for backend work

An independent Node.js language course from explicit values to a tested local data CLI.

Free lessons & exercises8 authored lessons3 units

What you’ll work toward

Write and test local Node.js transformations and CLI tools using explicit validation, private state and real promise ordering.

Read an explanation, inspect the diagrams and work through the available checks, debugging exercises and builds. Feedback and prerequisite links guide the next step.

Before you start

The entry lesson has no earlier CodeRigor skill prerequisite. Start there and follow the sequence.

Individual lessons can add prerequisites. The course map shows your actual readiness.

A look inside the first lesson

Values, coercion and explicit boundaries

JavaScript
const text = "12";
console.log(text + 3);         // 123: string concatenation
console.log(Number(text) + 3); // 15: numeric addition
console.log(text === 12);      // false: different types

Your course outline

Follow the lessons in curriculum order. Open a unit to preview the ideas you’ll work with.

UNIT 013 lessons JavaScript language foundations
  1. LESSON 01.01

    Values, coercion and explicit boundaries

    Use strict equality, nullish defaults and explicit validation to turn unknown counts into safe integers.

    Open lesson
  2. LESSON 01.02

    Functions, lexical scope and closures

    Write callbacks with explicit returns and keep independent state in lexical closures.

    Open lesson
  3. LESSON 01.03

    Arrays, objects and mutation contracts

    Aggregate records with Map while preserving caller-owned arrays and deterministic output.

    Open lesson
UNIT 023 lessons Application boundaries and asynchronous work
  1. LESSON 02.01

    Modules and private application state

    Expose a CommonJS factory API while keeping catalog records private and returning safe snapshots.

    Open lesson
  2. LESSON 02.02

    Errors and recoverable failure boundaries

    Validate complete port input, classify failures and avoid swallowing unexpected exceptions.

    Open lesson
  3. LESSON 02.03

    Promises, async functions and ordering

    Await sequential work, settle independent failures and preserve input order without timing assumptions.

    Open lesson
UNIT 032 lessons Validated data and a Node CLI
  1. LESSON 03.01

    JSON and runtime validation

    Separate JSON syntax from application schema and return normalized records with explicit failure classes.

    Open lesson
  2. LESSON 03.02

    Build a deterministic Node data tool

    Combine argument handling, JSONL validation, aggregation and atomic CLI output in an offline report tool.

    Open lesson