Jak utworzyć enumerator w JavaScript

Jak utworzyć enumerator w JavaScript
Podczas programowania w JavaScript, czy kiedykolwiek spotkałeś się z sytuacją, w której konieczne jest zarządzanie niektórymi twardymi wartościami lub dużym plikami stały? Jeśli tak, poznaj koncepcję Wyliczenie łatwo rozwiązać taki problem następnym razem.

W JavaScript, Enumeratory Utwórz zestaw „stałe" albo kilka odrębne wartości, Ułatwienie kodu do odczytu i utrzymania. Są również pomocne w przypadku ograniczenia wyboru; Na przykład możliwe wartości reprezentowania pór roku w klimacie umiarkowanym to lato, zima, jesień i wiosny.

W tym spisie omówi metodę Utwórz wyliczenie W JavaScript. A więc zacznijmy!

Enumerator w JavaScript

Możesz wiedzieć, że liczby można wykorzystać w odniesieniu do „wartość”I„ „typ„Czegoś. Na przykład w ramach poniżej danego programu będziemy powiązać liczbę „1”Z stałym„LATO„Jako sezon:

Const Summer = 1;

Następnie zdefiniujemy funkcję o nazwie „getsason ()”To akceptuje„typ”Jako argument, a następnie porównaj go z typem„LATO„Korzystanie z ścisłego operatora równości”===”:

Funkcja getsason (type)
FunkctiongetSason (type)
if (typ === lato)
return nazwa: „sezon letni”;

return nazwa: „inny sezon”;

Wreszcie, przywołaj „getsason ()”Funkcja podczas przekazywania„1„Jako argument:

Getsason (1);

Wyjście wyżej podanego kodu wydrukują informacje o sezonie na konsoli, zgodnie z przekazanym typem:

Chcesz zdefiniować więcej rodzajów sezonu? Aby to zrobić, utwórz stałe o nazwie określonego sezonu i przypisz do niego numer jako „typ”:

Const Summer = 1;
Const Summer = 1;
const Winter = 2;
FunkctiongetSason (type)
if (typ === lato)
return nazwa: „sezon letni”;

if (typ === zima)
return nazwa: „sezon zimowy”;

return nazwa: „inny sezon”;

Getsason (2);

Wyjście

Jak widać z powyższego wyjścia, nasz program działa idealnie. Mimo to zdefiniowany sezon typy Czy nie logicznie połączone i istnieją jako niezależny stałe, które można umieścić w dowolnym miejscu w kodzie, co czyni je złożonymi do obsługi. W takiej sytuacji, "Enumeratory" wchodzi w grę!

Enumeratory oferują funkcjonalność definiowania zestawu nazwanego „stałe”Lub wyraźne przypadki. Kiedy ten mechanizm jest wykorzystywany, wszystkie „mocno zakodowane”Wartości są dodawane w jednym miejscu, do którego są skierowane, a nie ponownie napisane. Ponadto użycie wyliczających pomaga również w poprawie możliwości utrzymania kodu.

Teraz sprawdźmy metodę tworzenia wyliczeń w JavaScript.

Jak utworzyć wyliczenie w JavaScript

Wyliczniki nie są obsługiwane w ES6 i poprzednich wersjach; Jest to jednak wzór, więc możemy go powtórzyć za pomocą natywnych funkcji i technik JavaScript.

W JavaScript możesz utworzyć wyliczenie przez:

  • Definiowanie wyliczania „Obiekt"
  • Tworzenie wyliczania „Klasa"

Omówimy każdą z określonych metod w następnych sekcjach.

Jak utworzyć obiekt wyliczający w JavaScript

Jak wspomniano wcześniej, wyliczające są zdefiniowane jako „stałe" Lub "kluczowa wartość”Pary, więc użyj ich w JavaScript, musisz utworzyć obiekt o nazwie„Pascalcase”I klucze w„Duże litery”:

Const Seasons =
Lato: 1,
Zima: 2,
Wiosna: 3,
Jesień: 4

Do tego momentu stworzyliśmy wyliczenie o nazwie „pory roku,”Ale jego wartości można łatwo zmienić, co neguje, że jest wyliczeniem. Musimy określić jego właściwości jako „niezmienny„Aby zmienić to zachowanie.

W tym celu wywołamy JavaScript „Obiekt.zamrażać()„Metoda podczas definiowania właściwości„pory roku" obiekt. Po tym, „Obiekt.zamrażać()„Metoda zamrozi„pory roku„Obiekt i zapobiega jego właściwościom przed dowolną manipulacją:

const Seasons = obiekt.zamrażać(
Lato: 1,
Zima: 2,
Wiosna: 3,
Jesień: 4
);
Pory roku;

Wyjście

W przypadku scenariuszy podstawowych możesz utworzyć obiekt wyliczający; Jednak gdy musisz określić logikę do dodawania wartości, idź do implementacji wyliczania w klasie JavaScript.

Jak utworzyć klasę enumerator w JavaScript

Aby stworzyć „Enumerator„Klasa w JavaScript, postępuj zgodnie z instrukcjami poniżej:

  • Przede wszystkim zdefiniuj „konstruktor()„Dla klasy wyliczania, która akceptuje zmienną liczbę argumentów jako„Klucze". Utworzona metoda konstruktora będzie odpowiedzialna za dodanie każdego „klucz„Do obiektu wyliczającego, a następnie zamrażanie go natychmiast za pomocą„Obiekt.zamrażać()" metoda.
  • W następnym kroku użyj „Symbol.iterator ()„Metoda przekształcenia instancji klasy wyliczającej w„Iterable" obiekt. Ta funkcjonalność sprawi, że obiekt wyliczający będzie bardziej przydatny.
  • Na koniec zadeklaruj obiekt „Enumerator„Zajęć i przejdź”Klucze„Do konstruktora ().
Class Enumerator
classenumerator
konstruktor (… klawisz)
Klucze.foreach ((klucz, i) =>
ten [klucz] = i;
);
Obiekt.zamrozić (this);

*[Symbol.iterator] ()
Dla (niech klucz.klucze (this)) pertkey;


constSSeasionenum = neweNumerator (
'lato',
'zima',
'wiosna',
'jesień');
Const Seasons = [… TEASESONENUM];
konsola.log (pory roku);

Oto jak wdrożyliśmy klasę Enumerator w JavaScript:

Skompilowaliśmy różne metody tworzenia wyliczeń w JavaScript. W zależności od twoich wymagań możesz skorzystać z dowolnego z nich i skorzystać z funkcji wyliczających.

Wniosek


W JavaScript możesz stworzyć „Obiekt wyliczający" Lub "Klasa enumerator„Aby wdrożyć koncepcję wyliczenia, w której obiekt wyliczający jest używany w scenariuszach podstawowych, a klasa wyliczania jest zdefiniowana dla złożonej logiki. Oba podejścia wykorzystują „Obiekt.zamrażać()”Metoda zamrożenia utworzonego obiektu wyliczającego i zaznaczenia jego właściwości jako niezmiennych. W tym zapisie omówiono różne metody utworzenia wyliczenia w JavaScript.