JavaScript — To-do list (class, private fields, async)
A realistic JavaScript snippet with an ES class, private #fields, arrow functions, template literals, a getter, and async/await — for testing highlighters, ESLint, Prettier, and bundlers.
// A tiny in-memory to-do list: a class with private fields, arrow functions,
// template literals, array methods, a getter, and async/await.
class TodoList {
#items = [];
add(title, { priority = "normal" } = {}) {
const item = { id: this.#items.length + 1, title, priority, done: false };
this.#items.push(item);
return item;
}
complete(id) {
const item = this.#items.find((it) => it.id === id);
if (!item) throw new Error(`No item with id ${id}`);
item.done = true;
}
get pending() {
return this.#items.filter((it) => !it.done);
}
toString() {
return this.#items
.map((it) => `${it.done ? "[x]" : "[ ]"} #${it.id} ${it.title} (${it.priority})`)
.join("\n");
}
}
async function main() {
const list = new TodoList();
list.add("Write tests", { priority: "high" });
list.add("Ship release");
list.complete(1);
await Promise.resolve();
console.log(list.toString());
console.log(`${list.pending.length} item(s) left`);
}
main();
Specifications
- Language
- JavaScript
- Kind
- realistic snippet
- Lines
- 40
- Encoding
- UTF-8
- Line Endings
- LF
Testing contract
Expected to pass- Scenario
- Execute the file in Node 18+ and compare stdout against the class behaviour it declares.
- Expected result
- It prints two checklist lines - `[x] #1 Write tests (high)` then `[ ] #2 Ship release (normal)` - followed by `1 item(s) left`. The `#items` private field is inaccessible from outside the class, and `complete(99)` throws `No item with id 99`.
What is a .js file?
JavaScript (.js) is a plain-text source file for the JavaScript language — the scripting language of the web, also used server-side via Node.js. It is dynamically typed and event-driven, with first-class functions, prototypes, and (in modern syntax) modules, classes, and async/await.
How to use this file
Use an example .js file to test syntax highlighters, linters (ESLint), formatters (Prettier), bundlers, and JavaScript parsers, or as editor and diff-viewer fixtures.
How to use this file for testing
“JavaScript — To-do list (class, private fields, async)” is a deterministic Novus Examples fixture for Syntax highlighting, Code parsing, Editor testing. Idiomatic hello-world programs and realistic snippets across sixteen languages, exercising comments, string escapes, interpolation, numeric literals, and language keywords — for testing syntax highlighters, editor themes, and tree-sitter grammars.
Documented properties for this file: JavaScript · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
This is a short, known-correct source file. Run it through your syntax highlighter, linter, formatter, tree-sitter grammar, or parser, and open it in the in-browser editor to tweak and re-download. Each snippet exercises comments, string escapes, literals, and language keywords.
Code examples
node todo-list.jsRelated files
- jsJavaScript — Hello WorldThe classic hello-world in modern JavaScript — a minimal function calling console.log, for testing highlighters, Node, and JS parsers.

- jsJavascript Lint Invalid — Eqeqeq InvalidIntentionally lint-bait SAMPLE javascript snippet (eqeqeq-invalid) for rule-engine tests.

- jsJavascript Lint Invalid — Var Shadow InvalidIntentionally lint-bait SAMPLE javascript snippet (var-shadow-invalid) for rule-engine tests.

- cC — Hello WorldThe classic hello-world in C — an include, main, and printf — for testing highlighters, C compilers, and parsers against the canonical first program.

- cC — Linked list (structs, malloc, pointers)A realistic C program: a singly linked list with a typedef struct, malloc/free memory management, pointer walking, and error handling — for testing highlighters, compilers, and static analysers.

- cC StructC struct SAMPLE for clangd / highlighter fixtures.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.