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-ը օգնում է անվտանգ աշխատել միացյալ տիպերով՝ հստակեցնելով դրանք պայմանական կառուցվածքներում։