Dodá neutrálneho zástupcu namiesto prázdnej hodnoty, takže volanie nepadne.
class Zlava { uplatni(suma) { throw new Error('abstraktná metóda'); }} class ZimnaZlava extends Zlava { uplatni(suma) { return suma * 0.8; }} // Neutrálny zástupca: rozhranie spĺňa, ale nerobí nič.class ZiadnaZlava extends Zlava { uplatni(suma) { return suma; }} class Kosik { constructor(zlava) { this.zlava = zlava; } cena(suma) { // Žiadna kontrola na prázdnu hodnotu — nie je čo kontrolovať. return this.zlava.uplatni(suma); }} const sZlavou = new Kosik(new ZimnaZlava());const bezZlavy = new Kosik(new ZiadnaZlava()); sZlavou.cena(100); // 80bezZlavy.cena(100); // 100