TypeScript는 Microsoft에서 개발한 오픈 소스 프로그래밍 언어로, JavaScript에 정적 타입 시스템을 추가한 언어이다. TypeScript는 JavaScript의 확장이며, JavaScript 코드를 그대로 사용할 수 있다. TypeScript는 정적 타입 언어이기 때문에 변수의 데이터 타입을 명시적으로 지정할 수 있다.
- 정적 타입: TypeScript는 변수, 매개변수 및 함수의 데이터 타입을 선언하고, 컴파일러가 이를 검사하여 타입 오류를 사전에 찾을 수 있다.
- 클래스와 인터페이스: 객체지향 프로그래밍을 지원하며, 클래스와 인터페이스를 사용하여 코드를 구조화할 수 있다.
- 모듈: 코드를 모듈화하여 관리할 수 있다. 이는 큰 프로젝트에서 코드의 유지보수성을 높이고 재사용성을 향상시킨다.
- ES6+ 기능 지원: TypeScript는 ECMAScript 표준의 최신 버전을 계속해서 지원하므로, 최신 JavaScript 기능을 사용할 수 있다.
- 타입 추론: 타입을 명시하지 않아도 TypeScript 컴파일러가 코드를 분석하여 변수의 타입을 추론할 수 있다.
- 컴파일: TypeScript 코드는 JavaScript로 변환되어 실행된다. 이는 TypeScript가 어떠한 브라우저나 JavaScript 런타임에서도 실행될 수 있음을 의미한다.
// 변수의 타입 명시
let message: string = "안녕하세요";
// 함수 정의와 매개변수 타입 명시
function greet(name: string): string {
return "안녕하세요, " + name + "님!";
}
// 클래스와 인터페이스 사용
interface Person {
name: string;
age: number;
}
class Employee implements Person {
constructor(public name: string, public age: number) {}
}
// 객체 생성 및 함수 호출
let employee = new Employee("홍길동", 20);
console.log(greet(employee.name));