[typescript] instanceof 타입 가드

TypeScript에서 instanceof 연산자를 사용하면 객체가 특정 클래스의 인스턴스인지를 검사할 수 있습니다. 이를 활용하여 타입 가드를 구현할 수 있습니다.

class Animal {
  move() {
    console.log("Moving...");
  }
}

class Cat extends Animal {
  meow() {
    console.log("Meow!");
  }
}

function makeSound(animal: Animal) {
  if (animal instanceof Cat) {
    animal.meow();
  } else {
    animal.move();
  }
}

위의 코드에서 makeSound 함수는 Animal 타입을 매개변수로 받아서, 해당 객체가 Cat 클래스의 인스턴스인지를 확인한 후에 알맞은 메서드를 호출하고 있습니다.

이러한 방식으로 instanceof 연산자를 활용하여 런타임에서 타입 안정성을 확보하고 코드를 더욱 견고하게 만들 수 있습니다.


참고 자료: