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

question-closed Sprawdzanie typu - Typescript

+1 głos
355 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 (283,300 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ź 435 wizyt
0 głosów
0 odpowiedzi 222 wizyt
pytanie zadane 4 października 2023 w JavaScript przez reaktywny Nałogowiec (46,230 p.)
0 głosów
0 odpowiedzi 743 wizyt
pytanie zadane 7 września 2022 w JavaScript przez niezalogowany

93,733 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,295 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...