[typescript] 타입 어노테이션을 통한 인터페이스 설정
TypeScript는 정적 타입을 지원하는 프로그래밍 언어로, JavaScript에 타입을 추가하고 컴파일 시간에 타입을 체크하여 안정성을 높여줍니다. TypeScript에서는 타입 어노테이션을 사용하여 변수, 함수, 클래스 등의 타입을 명시적으로 설정할 수 있습니다.
타입 어노테이션의 필요성
JavaScript는 동적 타입 언어로, 변수의 타입을 런타임 시에 결정합니다. 이는 오류 발생 가능성을 높일 수 있습니다. TypeScript는 이러한 상황을 방지하기 위해 타입 어노테이션을 제공합니다. 이를 통해 코드의 가독성을 높이고 예상치 못한 오류를 사전에 방지할 수 있습니다.
변수와 함수에 타입 어노테이션 적용
변수에 타입 어노테이션 적용
let name: string;
let age: number;
let isAdult: boolean;
함수에 타입 어노테이션 적용
function greet(name: string): void {
console.log(`Hello, ${name}!`);
}
인터페이스에 타입 어노테이션 적용
interface Person {
name: string;
age: number;
isAdult: boolean;
}
function printPerson(person: Person): void {
console.log(`Name: ${person.name}, Age: ${person.age}`);
}
클래스에 타입 어노테이션 적용
class Person {
constructor(public name: string, public age: number) {}
getDetails(): string {
return `${this.name}, ${this.age}`;
}
}
타입 어노테이션을 통한 인터페이스 설정
인터페이스 생성
인터페이스는 데이터 구조를 정의하고, 타입 어노테이션을 통해 인터페이스를 적용할 수 있습니다.
interface Product {
id: number;
name: string;
price: number;
}
function printProduct(product: Product): void {
console.log(`Product ID: ${product.id}, Name: ${product.name}, Price: ${product.price}`);
}
인터페이스 확장
인터페이스는 확장되어 더 큰 범위의 데이터 구조를 정의할 수 있습니다.
interface DiscountedProduct extends Product {
discountPercentage: number;
}
function printDiscountedProduct(product: DiscountedProduct): void {
const discountedPrice = product.price - (product.price * product.discountPercentage / 100);
console.log(`Product ID: ${product.id}, Name: ${product.name}, Price: ${discountedPrice}`);
}
타입 어노테이션을 통한 인터페이스 설정은 TypeScript 코드의 안정성을 높이고 유지보수를 용이하게 합니다.
결론
타입 어노테이션을 통한 인터페이스 설정은 TypeScript의 가장 강력한 기능 중 하나입니다. 이를 통해 코드의 가독성과 안정성을 높일 수 있으며, 개발자들이 안전하고 효율적으로 코드를 작성할 수 있도록 도와줍니다.
참고문헌: