Funkcje fabryczne JavaScript

Podsumowanie: w tym samouczku dowiesz się o funkcjach fabrycznych JavaScript, które są funkcjami zwracającymi obiekty.

Wprowadzenie do funkcji fabrycznych w JavaScript

funkcja fabryczna jest funkcją zwracającą nowy obiekt. W następujący sposób tworzy się obiekt person o nazwie john:

Code language: JavaScript (javascript)

wyjście:

obiekt john posiada dwie właściwości: firstName i lastName oraz jedną metodę getFullName(), która zwraca pełną nazwę.

Załóżmy, że musisz utworzyć inny podobny obiekt o nazwie jane, możesz zduplikować kod w następujący sposób:

Code language: JavaScript (javascript)

wyjście:

obiekt jane ma takie same właściwości i metody jak obiekt john.

im więcej obiektów chcesz utworzyć, tym więcej duplikatów kodu musisz skopiować.

aby uniknąć wielokrotnego kopiowania tego samego kodu, możesz rozwinąć funkcję, która tworzy obiekt person :

Code language: JavaScript (javascript)

gdy funkcja tworzy obiekt, nazywa się ją funkcją fabryczną. createPerson() jest funkcją fabryczną, ponieważ zwraca nowy obiekt person.

poniższy kod wykorzystuje funkcję fabryczną createPerson() do utworzenia dwóch obiektów john i jane:

Code language: JavaScript (javascript)

funkcja factory umożliwia utworzenie dowolnej liczby obiektów person bez powielania kodu.

podczas tworzenia obiektu obiekt ten wymaga miejsca w pamięci. Jeśli masz tysiąc obiektów person, potrzebujesz tysiąca miejsc w pamięci do przechowywania tych obiektów. Te obiekty person mają jednak tę samą metodę getFullName().

aby uniknąć powtarzania tej samej funkcji getFullName() w pamięci, można usunąć metodę getFullName() z obiektu person :

Code language: JavaScript (javascript)

i przenieś tę metodę do innego obiektu:

Code language: JavaScript (javascript)

a przed wywołaniem metody getFullName() w obiekcie person można przypisać metodę obiektu behavior do obiektu person w następujący sposób:

Code language: JavaScript (javascript)

będzie to trudniejsze, jeśli masz wiele metod i musisz przypisać je ręcznie.

dlatego w grę wchodzi metoda Object.create().

Obiekt.metoda create ()

metoda Object.create() wytworzy nowy obiekt przy użyciu istniejącego obiektu jako prototyp nowego obiektu:

Code language: CSS (css)

możesz więc użyć Object.create() w następujący sposób:

Code language: JavaScript (javascript)

teraz możesz tworzyć obiekty person i wywoływać metody obiektu behavior :

Code language: JavaScript (javascript)

kod działa idealnie. Jednak w praktyce rzadko zobaczysz funkcje fabryczne. Zamiast tego zobaczysz konstruktory funkcji lub klasy.

podsumowanie

  • funkcja fabryczna jest funkcją zwracającą nowy obiekt.
  • użyj Object.create(), aby utworzyć obiekt przy użyciu istniejącego obiektu jako prototypu.
  • czy ten samouczek był pomocny ?
  • YesNo

You might also like

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.