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
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.
Related files
- jsJavaScript — Hello WorldThe classic hello-world in modern JavaScript — a minimal function calling console.log, for testing highlighters, Node, and JS parsers.

- 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.

- cppC++ — Hello WorldThe classic hello-world in C++ — iostream and std::cout — for testing highlighters, C++ compilers, and parsers.

- cppC++ — Series (class template, STL)A realistic C++ snippet with a class template, STL algorithms (max_element, accumulate), std::move, and range handling — for testing highlighters, g++/clang++, and parsers against real templates.

- cssCSS — Component styles (variables, flexbox, keyframes)A realistic component stylesheet using custom properties, flexbox, a fluid clamp() font size, color-mix(), a keyframe animation, and a media query — for testing CSS parsers, linters (stylelint), and highlighters.

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