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