- 10-functions.js: functions chapter (declaration/expression, arrow,
default params, return, scope, functions-as-values); arrow-return
explained anchor-first (=> expects an expression); object-return
needs () with a note on why it's silent (label statement)
- 09-loops.js: add label (break/continue outer) — the real feature
behind the 'name:' collision that bites arrow object-return
- my-mistakes.md: N (block doesn't produce a value, so {} needs return)
and O (arrow object-return needs parens); both are silent undefined
- 09-loops: finish exercises A-F
- 00-concepts: add semicolons-and-asi.md (when ; is mandatory: line
starting with ( or [, no newline after return/throw)
- README: index the new concept note
- 08-sets-maps: correct 'object order not guaranteed' -> objects keep
insertion order except integer-like keys (reordered ascending); this
is the real reason to prefer Map when numeric keys must stay ordered
- 05-conditionals: soften 'only 6 falsy values' (note 0n/-0 exist)
- 04-strings: annotate expected output for immutable string[0]='x'
(silent in sloppy mode, TypeError in strict/ESM)
- 04-strings: reword exercise C hint to direction-only (no full answer)
- 09-loops: fix typo in for...in comment
- flat single-file structure: NN-topic.js per topic (concepts as
comments + demo + exercises in one file), replacing the old
NN-topic/ folder with separate notes.md + practice.js
- 00-concepts/ cross-topic notes (mistakes log, call-forms,
value-vs-reference, shortcircuit bash-vs-js)
- move quokka_playground.js from repo root into js_notes/
- add project CLAUDE.md