Skorzystaj z typów narzędzi TypeScript i skorzystaj z bardziej wyrazistego kodu, który jest również bardziej niezawodny.

TypeScript to nadzbiór języka JavaScript, który umożliwia dodawanie statycznego pisania do bazy kodu. Dzięki potężnemu systemowi typów, TypeScript oferuje lepszą czytelność kodu i możliwość wychwytywania błędów podczas kompilacji.

Jednym z najbardziej korzystnych aspektów TypeScript są wbudowane typy narzędzi, które mogą uprościć prace związane z kodowaniem i zaoszczędzić cenny czas programowania. Zapoznaj się z tymi niezbędnymi typami narzędzi TypeScript, które mogą pomóc w łatwym pisaniu kodu bezpiecznego dla typów.

TypeScript Częściowy typ użyteczności pozwala uczynić dowolne właściwości obiektu opcjonalnymi. Pozwala tworzyć obiekty o pewnych właściwościach, których może brakować lub być niezdefiniowane. Weź na przykład:

interfejs Użytkownik { 
nazwa: strunowy;
wiek: numer;
e-mail: strunowy;
}

Używając Częściowy typ użytkowy, możesz utworzyć nowy typ ze wszystkimi właściwościami interfejsu użytkownika ustawionymi jako opcjonalne:

instagram viewer
typ Opcjonalny użytkownik = Częściowy

Teraz możesz utworzyć instancję typu OptionalUser ze zdefiniowanymi tylko niektórymi właściwościami:

konst użytkownik: Opcjonalny Użytkownik = { nazwa: "Jan" };

Możesz napotkać sytuacje, w których musisz utworzyć obiekt z pewnymi opcjonalnymi właściwościami. To może się przydać zwłaszcza przy budowaniu form które mają wiele pól, ponieważ nie wszystkie z nich mogą być wymagane iw takich przypadkach częściowa użyteczność może być kluczowa.

Typ narzędzia Pick w TypeScript może pomóc w wygenerowaniu nowego typu poprzez wybranie tylko podzbioru właściwości z istniejącego typu. Przydaje się, gdy trzeba zawęzić większy obiekt do kilku wymaganych właściwości lub jeśli chcesz wymusić ścisłe wpisywanie potrzebnych właściwości.

interfejs Użytkownik { 
Lokalizacja: strunowy;
wiek: numer;
e-mail: strunowy;
}

typ PersonWithoutEmail = Wybierz'Lokalizacja' | 'wiek'>;

konst osoba: OsobaBezE-maila = {
Lokalizacja: 'USA',
wiek: 30
};

W tym przykładzie interfejs o nazwie „Użytkownik” definiuje trzy właściwości: adres e-mail, wiek i lokalizację.

za pomocą Wybierz rodzaj narzędzia, możesz wybiórczo wyodrębnić właściwości „lokalizacja” i „wiek” z interfejsu użytkownika, co spowoduje utworzenie nowego typu o nazwie „PersonWithoutEmail”.

Następnie możesz utworzyć nową instancję typu „PersonWithoutEmail” i przypisać wartości tylko do właściwości „lokalizacja” i „wiek”. Ponieważ właściwość „email” została pominięta w tym typie, nie można jej przypisać do obiektu.

Dzięki typowi narzędzia Pick możesz utworzyć nowy typ, który zawiera tylko żądane właściwości. Może to pomóc w uczynieniu kodu bardziej czytelnym i łatwiejszym w obsłudze.

Typ tylko do odczytu oznacza, że ​​atrybuty obiektu są niezmienne po jego utworzeniu. Ten typ gwarantuje spójność danych obiektu w długim okresie, co skutkuje płynniejszą i bezpieczniejszą obsługą kodu.

interfejs Użytkownik {
nazwa tylko do odczytu: strunowy;
wiek tylko do odczytu: numer;
e-mail tylko do odczytu: strunowy;
}

Używając Typ narzędzia tylko do odczytu, możesz utworzyć nowy typ ze wszystkimi właściwościami interfejsu użytkownika oznaczonymi jako tylko do odczytu:

typ ReadonlyUser = Tylko do odczytu

Możesz określić wartości właściwości podczas tworzenia instancji ReadonlyUser:

konst użytkownik: użytkownik tylko do odczytu = { 
nazwa: "Jan",
wiek: 30,
e-mail: [email protected]
};

Po oznaczeniu właściwości obiektu jako tylko do odczytu próba modyfikacji wartości tych właściwości staje się niemożliwa:

nazwa.użytkownika = „Jane”;
// Błąd: Nie można przypisać do „nazwy”, ponieważ jest to właściwość tylko do odczytu.

Typ tylko do odczytu jest szczególnie ważny w sytuacjach, w których chcesz mieć pewność, że określony obiekt się nie zmieni, niezależnie od tego, jak się do niego odwołuje. Na przykład, jeśli masz obiekt, który zawiera ważne ustawienia konfiguracyjne, chciałbyś mieć pewność, że pozostanie on niezmieniony.

Ten typ zapewnia obecność wszystkich istotnych właściwości obiektu, podczas gdy typ częściowy oferuje większą elastyczność, umożliwiając określenie podzbioru właściwości, pozostawiając pozostałe opcjonalny. Może to okazać się korzystne w sytuacjach, gdy niektóre właściwości mogą nie być konieczne lub mogą ulec zmianie.

interfejs Użytkownik {
nazwa: strunowy;
Lokalizacja: numer;
adres: strunowy;
}

Korzystając z Wymagany typ narzędzia, możliwe jest utworzenie nowego typu, który łączy wszystkie atrybuty interfejsu użytkownika, jednocześnie wymagając obecności każdej z tych właściwości. Utworzenie instancji RequiredUser jest możliwe dopiero po prawidłowym ustawieniu wszystkich jej właściwości.

konst użytkownik: Wymagany użytkownik = { 
nazwa: "Nieznany z nazwiska",
Lokalizacja: "USA",
adres: „Kansas 9745-0622”
};

Użycie wymaganego typu narzędzia gwarantuje, że w obiekcie znajdują się wszystkie wymagane właściwości.

Typ narzędzia Pomiń umożliwia utworzenie nowego typu przez wykluczenie określonych właściwości z istniejącego typu.

interfejs Osoba {
Lokalizacja: strunowy;
wiek: numer;
e-mail: strunowy;
}

typ PersonWithoutEmail = Pomiń'e-mail'>;
konst osoba: PersonWithoutEmail = { lokalizacja: "USA"; wiek: 30 };

Interfejs Person ma trzy właściwości: wiek, lokalizację i adres e-mail. Typ PersonWithoutEmail wykorzystuje typ narzędzia Omit w celu uwzględnienia wszystkich właściwości obiektu Person z wyjątkiem wiadomości e-mail. Następnie możesz utworzyć instancję tego nowego typu bez określania wartości właściwości e-mail.

Należy pamiętać, że typ narzędzia Omit ma istotne podobieństwa z typem narzędzia Pick, ponieważ umożliwia wymyślenie nowego typu przy użyciu tylko właściwości określonych przez użytkownika.

Typu narzędzia Record można użyć do zdefiniowania typu obiektu, dla którego klucze i wartości mają określony typ. Jego definicja brzmi:

typ Nagrywaćrozciąga się klucz każdy, T> = { [P W K]: T;};

To wiąże typ T z wartością każdego klucza, podczas gdy K jest sumą kluczy dowolnego typu. Wynikowy obiekt ma typ właściwości P ustawiony na T.

Rozważ scenariusz typu obiektu z kluczami łańcuchowymi i wartościami liczbowymi. W takim przypadku możesz zastosować tzw Zapisz typ narzędzia Jak:

typ MójRekord = Rekord<strunowy, numer>;

konst mójObiekt: MójRekord = {
"bla": 1,
"bar": 2,
"baz": 3,
}

Ten przykład określa MyRecord jako typ obiektu z kluczami łańcuchowymi i wartościami numerycznymi. Obiekt myObject jest przykładem tego typu, z kluczami „foo”, „bar” i „baz” przypisanymi do odpowiadających im wartości.

W tym artykule odkryto potęgę typów narzędzi TypeScript — mogą one być cennym zasobem, jeśli chodzi o usprawnienie kodu oraz przyspieszenie i zwiększenie wydajności programowania. Te typy narzędzi i ogólnie TypeScript mogą zdziałać cuda, zapewniając, że Twój kod jest zawsze wolny od błędów i jest zgodny z określonymi strukturami.