- new 00-concepts note: which has a value / can be used as a value;
the REPL 'completion value' illusion; ties together arrow =>, ternary,
return
- README: index it under cross-topic concepts
- F: user improved repeat to check times===0 BEFORE fn() so repeat(fn,0)
prints 0 times; keep it live, comment the two earlier versions as ❌
contrast (never leave duplicate live const → SyntaxError)
- my-mistakes M: add re-occurrence context (new version written but old
not deleted → duplicate const)
- 10-functions.js: add hoisting/TDZ section (why names are registered but
not touchable; var silent-undefined vs const/let TDZ error) + runnable
demo; reword 锚点 to plainer phrasing
- my-mistakes.md: same 锚点 rewording in entry N
- 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
- 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