Lambda saysModules export named bindings or one default — import syntax differs for each.
Named exports (export const x) are imported by name in braces and can be many per file. A export default is the module's single main value, imported without braces and renamable freely. Mixing both is fine. Named exports aid tree-shaking and discoverability; defaults suit a module's one obvious thing.
Power-ups you unlock
Named: export const x → import { x }
Default: export default → import anyName
One default per module; many named
Named exports help tree-shaking
The Mutator attacks — common mistakes
Braces around a default import (or omitting for named)
Two default exports in one file
Renaming named imports without "as"
Boss battleWrite a module with one default export and one named export, and import both.
Example code
<!doctype html><html><head><meta charset="utf-8"></head>
<body style="background:#06040d;color:#e6e0ff;font-family:monospace;padding:20px"><pre>// utils.js
export default function main(){}
export const VERSION = '1.0';
// app.js
import main, { VERSION } from './utils.js';</pre></body></html>