Sobes.tech
Middle+

Pratik görev: Hayvan türünü belirlemek için bir TypeGuard yazın (Köpek veya Kedi)

sobes.tech yapay zeka

AI'dan gelen yanıt

TypeGuard в TypeScript позволяет уточнить тип объекта во время выполнения, чтобы компилятор понимал, какой именно тип используется.

Пример TypeGuard для определения, является ли животное собакой или кошкой:

interface Dog {
  bark(): void;
}

interface Cat {
  meow(): void;
}

function isDog(animal: Dog | Cat): animal is Dog {
  return (animal as Dog).bark !== undefined;
}

// Использование:
function makeSound(animal: Dog | Cat) {
  if (isDog(animal)) {
    animal.bark();
  } else {
    animal.meow();
  }
}

Здесь функция isDog проверяет наличие метода bark, что позволяет TypeScript сузить тип внутри условного блока.