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