Sobes.tech
Junior — Middle

Мо метавонед шарҳи кунед, ки чӣ гуна санҷиши навъи (Type Guard) ва чӣ гуна дар TypeScript истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

Тур Guard (Тург Гард) дар TypeScript — як роҳи дақиқ кардани навъи тағйирёбанда дар вақти иҷро, то ки компилятор бо он бехатар кор кунад. Тур Guard кӯмак мекунад, ки хатогиҳо, ки бо истифодаи нодурусти навъҳо алоқаманданд, пешгирӣ шаванд.

Масалан, агар шумо тағйирёбанда дошта бошед, ки метавонад ё як сатр ё як рақам бошад, шумо метавонед бо истифода аз Тур Guard навъи онро санҷед ва амалҳои мувофиқро иҷро кунед:

function мисол(арзиш: string | number) {
  if (typeof арзиш === 'string') {
    // Ин ҷо TypeScript медонад, ки арзиш як сатр аст
    console.log(арзиш.toUpperCase());
  } else {
    // Ин ҷо арзиш рақам аст
    console.log(арзиш.toFixed(2));
  }
}

Тур Guard метавонад бо истифода аз операторҳои typeof, instanceof ё функсияҳои махсус, ки санҷиши навъро бармегардонанд, амалӣ карда шавад.