Zdieľa nemennú časť stavu medzi mnohými objektmi a šetrí tak pamäť.
class Glyf { constructor(pismeno, font) { this.pismeno = pismeno; this.font = font; } vykresli(x, y) { // nakreslí sa na zadanú pozíciu }} class GlyfyTovaren { static #zdielane = new Map(); static pre(pismeno) { if (!GlyfyTovaren.#zdielane.has(pismeno)) { GlyfyTovaren.#zdielane.set(pismeno, new Glyf(pismeno, 'serif')); } return GlyfyTovaren.#zdielane.get(pismeno); }} class Vyskyt { constructor(pismeno, x, y) { this.glyf = GlyfyTovaren.pre(pismeno); this.x = x; this.y = y; } vykresli() { this.glyf.vykresli(this.x, this.y); }} const a1 = new Vyskyt('a', 10, 4);const a2 = new Vyskyt('a', 24, 4);const b1 = new Vyskyt('b', 38, 4); a1.glyf === a2.glyf; // true — spoločná časť je jednaa1.x === a2.x; // false — vlastnú si drží každý