다음주 중으로 TypeScript로 작은 프로젝트를 진행할 것 같다.
나는 JavaScript만 사용해왔기에 이번 기회에 TypeScript를 배우려고한다.
JS
function greet(name) {
return "Hello, " + name;
}
TS
function greet(name: string): string {
return "Hello, " + name;
}
interface (객체 구조 정의)
interface User {
name: string;
age: number;
}
function printUser(user: User) {
console.log(user.name);
}
JavaScript에는 interface가 없다.
enum (열거형)
enum Color {
Red,
Green,
Blue
}
let c: Color = Color.Green;
JavaScript에는 enum도 없다.
그리고 몇가지 더 있는데...
| 구분 | JavaScript | TypeScript |
|---|---|---|
| ✅ 타입 시스템 | 동적 타입 (변수 타입 자유) | 정적 타입 (컴파일 시 타입 검사) |
| ✏️ 코드 작성 시기 오류 확인 | 런타임에 오류 발생 | 작성 중에 오류 감지 가능 |
| 🛠 도구 지원 (IDE, 자동완성) | 일부 지원 | 매우 강력 (타입 기반 자동완성, 리팩토링) |
| 👶 진입 장벽 | 배우기 쉬움 | 초반에 문법과 설정 조금 더 필요 |
| 🧱 코드 안정성 | 실수하기 쉬움 | 타입 덕분에 오류 방지에 유리 |
| ⚙️ 실행 방법 | 바로 브라우저에서 실행 | tsc로 JS로 컴파일한 후 실행 |
| 📚 추가 기능 | 기본 JavaScript 기능만 사용 | 인터페이스, 제네릭, 타입 별칭 등 추가 기능 |
그런데 코드상의 차이는 별로 없는 것 같다...
큰 걱정없이 플젝 진행해도 될듯...!!