Builder jest to elastyczny wzorzec mający na celu budowanie skomplikowanych obiektów, krok po kroku co upraszcza cały proces. Wszelkie detale tworzenia obiektu są ukryte przed klientem. Poniżej przykład budowy zadania:
function TaskBuilder() {
    let name, description, isDone;
    return {
        setName: function(name) {
            this.name = name;
            return this;
        },
        setDescription: function(description) {
            this.description = description;
            return this;
        },
        setDone: function(done) {
            this.isDone = done;
            return this;
        },
        build: function () {
            return new Task(this.name, this.description, this.isDone);
        }
    }Następnie tworzymy Task-a w następujący sposób:
let task = (new TaskBuilder()).setName("Zadanie 1")
.setDescription("opis").setDone(true).build();
console.log(task);
// {name: "Zadanie 1", description: "opis",
// isDone: true}