• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Sprawdzanie typu - Typescript

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+1 głos
258 wizyt
pytanie zadane 15 maja 2022 w JavaScript przez Bakkit Dyskutant (7,600 p.)
zamknięte 16 maja 2022 przez Bakkit

Cześć mam taki typ:

type TYP = 'STRING_1' | 'STRING_2' | 'STRING_3';

Oraz zmienną typu string o nazwie 

jakas_zmienna

Jak mogę sprawdzić czy typ tej zmiennej pasuje do typu TYP?

 

Oczekuję takiego rezultatu:

if (warunek sprawdzający tym) {
    // wykonuje jakąś akcje
}

 

komentarz zamknięcia: https://forum.pasja-informatyki.pl/566407/sprawdzanie-typu-typescript?show=566409#a566409

1 odpowiedź

+4 głosów
odpowiedź 15 maja 2022 przez Wiciorny Ekspert (281,250 p.)
wybrane 16 maja 2022 przez Bakkit
 
Najlepsza

Nie można używać samego  typeof podczas wykonywania programu  do sprawdzania typów danego interfejsu, które istnieją tylko w czasie kompilacji. Zamiast tego możesz napisać funkcje która w tym pomoże 

const constValuesOfType = ['STRING_1', 'STRING_2' , 'STRING_3']
type TYPE = (typeof constValuesOfType)[number];
const isYourType = (x: any): x is TYPE => constValuesOfType.includes(x);

if (isYourType(twoja_zmienna)) {
  // cos 
}

https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates

1
komentarz 16 maja 2022 przez Bakkit Dyskutant (7,600 p.)
Działa, muszę się jeszcze nieco podszkolić z TypeScript'a.

Dziękuję bardzo.

Podobne pytania

0 głosów
1 odpowiedź 335 wizyt
0 głosów
0 odpowiedzi 153 wizyt
pytanie zadane 4 października 2023 w JavaScript przez reaktywny Nałogowiec (46,230 p.)
0 głosów
0 odpowiedzi 646 wizyt
pytanie zadane 7 września 2022 w JavaScript przez niezalogowany

93,437 zapytań

142,431 odpowiedzi

322,669 komentarzy

62,801 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...