Compare module systems.
01
01
Understand the problem
modules
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Same module, two systems
// ── ES Modules (the standard) ──
export const add = (a, b) => a + b;
export default function multiply(a, b) { return a * b; }
import multiply, { add } from "./math.js";
// ── CommonJS (Node legacy) ──
const add2 = (a, b) => a + b;
module.exports = { add: add2 };
module.exports.multiply = (a, b) => a * b;
const { add: addCjs } = require("./math.js");
// ESM resolves imports statically (tree-shakeable, supports top-level await);
// CJS require() is a synchronous function call resolved at runtime.05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.