Vytvára nové objekty klonovaním existujúceho namiesto volania konštruktora.
class Prototyp { klonuj() { throw new Error('abstraktná metóda'); }} class FormularSablona extends Prototyp { constructor() { super(); this.polia = []; this.styl = null; } klonuj() { const kopia = new FormularSablona(); kopia.polia = [...this.polia]; kopia.styl = this.styl; return kopia; }} // Nastavenie je drahé a robí sa raz.const sablona = new FormularSablona();sablona.polia = nacitajPolia();sablona.styl = nacitajStyl(); const a = sablona.klonuj();const b = sablona.klonuj(); a !== b; // dva rôzne objektya.styl === b.styl; // s rovnakým nastavením