[typescript] 클래스와 인터페이스에 대한 타입 추론 및 타입 어노테이션
TypeScript는 정적 타입 지정을 통해 JavaScript 개발 시 발생할 수 있는 오류를 사전에 방지할 수 있는 강력한 도구입니다. 이를 통해 클래스와 인터페이스에 대한 타입 추론과 타입 어노테이션을 이해할 수 있습니다.
클래스의 타입
TypeScript는 클래스의 멤버 변수와 함수의 매개변수, 반환값 등을 분석하여 타입을 추론합니다. 만약 명시적으로 타입을 지정하고 싶다면, 타입 어노테이션을 사용할 수 있습니다.
class Person {
name: string; // 타입 어노테이션
age = 20; // 타입 추론
constructor(name: string) {
this.name = name;
}
greet(message: string): string {
return `Hello, ${this.name}! ${message}`;
}
}
const person = new Person("Alice");
console.log(person.greet("Nice to meet you!"));
위 코드에서 name: string
은 타입 어노테이션이고, age
의 타입은 타입 추론에 의해 자동으로 number
로 결정됩니다.
인터페이스의 타입
인터페이스를 사용하여 객체의 구조에 대한 타입을 정의할 수 있습니다. 타입 어노테이션을 통해 인터페이스를 사용할 수 있습니다.
interface Point {
x: number;
y: number;
}
function getDistance(point1: Point, point2: Point): number {
const dx = point2.x - point1.x;
const dy = point2.y - point1.y;
return Math.sqrt(dx * dx + dy * dy);
}
위 코드에서 Point
인터페이스는 x
와 y
라는 멤버 변수를 가진 객체 타입을 정의합니다.
이처럼 TypeScript는 클래스와 인터페이스에 대한 타입 추론 및 타입 어노테이션을 통해 안정적인 코드 작성을 도와줍니다.
더 많은 정보는 TypeScript 공식 문서에서 확인할 수 있습니다.