Sobes.tech
Middle+

Ի՞նչ է type guard-ը։

sobes.tech AI

Պատասխան AI-ից

Type guard — դա մեխանիզմ է, որը թույլ է տալիս հստակեցնել փոփոխականի տիպը որոշակի կոդային բլոկում, որպեսզի կոմպիլյատորը կարողանա անվտանգ աշխատել այդ տիպի հետ։ Type guard — դա ֆունկցիա կամ արտահայտություն է, որը ստուգում է, արդյոք օբյեկտը համապատասխանում է որոշակի տիպին։

Օրինակ՝ օգտագործելով հատուկ ֆունկցիա՝

interface Մեկու {
  meow(): void;
}

interface Շուն {
  bark(): void;
}

function isՄեկու(կենդանի: Մեկու | Շուն): կենդանի է Մեկու {
  return (կենդանի as Մեկու).meow !== undefined;
}

function խոսել(կենդանի: Մեկու | Շուն) {
  if (isՄեկու(կենդանի)) {
    կենդանի.meow(); // TypeScript-ը գիտի, որ դա Մեկու է
  } else {
    կենդանի.bark(); // Այստեղ դա Շուն է
  }
}

Այսպիսով, type guard-ը օգնում է անվտանգ աշխատել միացյալ տիպերով՝ հստակեցնելով դրանք պայմանական կառուցվածքներում։