JavaScript Factory Functions

shrnutí: v tomto tutoriálu se dozvíte o továrních funkcích JavaScriptu, což jsou funkce, které vracejí objekty.

Úvod do továrních funkcí v JavaScriptu

tovární funkce je funkce, která vrací nový objekt. Následující vytváří osoba, objekt s názvem john:

Code language: JavaScript (javascript)

Výstup:

john objekt má dvě vlastnosti: firstName a lastName a jeden způsob, getFullName(), která vrací celé jméno.

Předpokládejme, že potřebujete vytvořit další podobný objekt s názvem jane, můžete duplikovat kód takto:

Code language: JavaScript (javascript)

Výstup:

jane objekt má stejné vlastnosti a metody, jako john objekt.

čím více objektu chcete vytvořit, tím více duplicitního kódu musíte zkopírovat.

, Aby se zabránilo kopírování stejný kód znovu a znovu, můžete si vytvořit funkci, která vytváří person objektu:

Code language: JavaScript (javascript)

Když funkce vytvoří objekt, je tzv. factory funkci. createPerson() je tovární funkce, protože vrací nový objekt person.

následující kód používá createPerson() tovární funkce pro vytvoření dvou objektů john a jane:

Code language: JavaScript (javascript)

S tovární funkce, můžete vytvořit libovolný počet person objekty, které chcete, aniž duplikování kódu.

když vytvoříte objekt, tento objekt vyžaduje místo v paměti. Pokud máte tisíc person objektů, potřebujete pro uložení těchto objektů v paměti tisíc mezer. Tyto objekty osoby však mají stejnou metodu getFullName().

, Aby se zabránilo opakování stejné getFullName() funkce v paměti, můžete odstranit getFullName() metoda person objektu:

Code language: JavaScript (javascript)

A přesunout tuto metodu jiného objektu:

Code language: JavaScript (javascript)

A před voláním getFullName() metoda person objekt, můžete přiřadit metodu behavior objekt person objekt takto:

Code language: JavaScript (javascript)

je To více obtížné, pokud máte mnoho metod a musí je přiřadit ručně.

proto přichází do hry metoda Object.create().

Objekt.create() metoda

Object.create() metoda vytvoří nový objekt pomocí existujícího objektu jako prototyp nového objektu:

Code language: CSS (css)

Takže můžete použít Object.create() takto:

Code language: JavaScript (javascript)

Nyní, můžete si vytvořit person objektů a volání metod behavior objektu:

Code language: JavaScript (javascript)

kód funguje naprosto v pořádku. V praxi však zřídka uvidíte tovární funkce. Místo toho uvidíte konstruktory funkcí nebo třídy.

Shrnutí

  • tovární funkce je funkce, která vrací nový objekt.
  • použijte Object.create() k vytvoření objektu pomocí existujícího objektu jako prototypu.
  • byl tento návod užitečný ?
  • YesNo

You might also like

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.