Skip to content
Novus Examples
js1008 B

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.

Preview — first 41 linesjs
// 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.

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