[typescript] 타입 가드와 타입 추론

본 문서에서는 TypeScript에서 타입 가드와 타입 추론에 대해 알아보겠습니다.

타입 가드

타입 가드는 런타임 검사를 통해 특정 타입을 확인하고 해당 타입에 따라 처리를 분기할 수 있는 TypeScript의 기능입니다. 타입 가드를 사용하면 더욱 정확한 타입 추론이 가능해지고, 코드의 안전성을 높일 수 있습니다.

아래는 instanceof를 사용한 타입 가드의 예시입니다.

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

class Dog extends Animal {
  bark() {
    console.log("Woof!");
  }
}

function makeSound(animal: Animal) {
  if (animal instanceof Dog) {
    animal.bark();
  } else {
    animal.move();
  }
}

위 예시에서 makeSound 함수는 animalDog 타입인지를 instanceof를 통해 확인하고, 해당 타입에 따라 다른 동작을 수행합니다.

타입 추론

TypeScript는 변수를 선언할 때 명시적으로 타입을 지정하지 않아도 해당 변수의 타입을 추론할 수 있습니다. 이를 통해 코드 작성 시 더 간결하고 유연한 구문을 사용할 수 있습니다.

아래는 타입 추론의 예시입니다.

let num = 10; // num의 타입은 number로 추론됨
let fruit = "apple"; // fruit의 타입은 string으로 추론됨

위 예시에서 num 변수에 10을 할당하면 TypeScript는 해당 값이 number 타입임을 추론하게 되며, fruit 변수에 문자열을 할당하면 string 타입으로 추론됩니다.

마무리

타입 가드와 타입 추론은 TypeScript를 사용하는 개발자에게 매우 유용한 기능입니다. 타입 가드를 통해 코드의 안전성을 높이고, 타입 추론을 통해 코드를 더 간결하게 작성할 수 있습니다.

더 많은 정보는 TypeScript 공식 문서를 참고하시기 바랍니다.

TypeScript 공식 문서