Language/TypeScript
[TypeScript] TypeScript 장점과 특징
eess
2024. 8. 5. 10:12
TypeScript란?
- Microsoft에서 개발한 오픈 소스 프로그래밍 언어입니다.
- JavaScript의 확장으로, JavaScript의 모든 기능을 포함하면서도 정적 타입을 지원하고 있습니다.
왜 TypeScript를 쓰는가?
1. 타입 안정성
- 타입 안정성(Type Safety)은 변수나 함수 등이 정의된 타입과 일치하는지 여부를 보장하는 것을 의미합니다.
- 타임 안정성을 통해 얻는 것
- 컴파일 타임 타입 체크 : 컴파일 과정에서 타입 에러를 발견하고 경고나 오류를 통해 개발자에게 알려줍니다.
- 강력한 타입 시스템 : 타입이 명확하게 지정되어야 하고, 타입에 대한 엄격한 규칙을 가집니다.
- 타입 추론 : 타입을 명시적으로 지정하지 않아도 컴파일러가 타입을 추론해줍니다.
- 타입 안정성 덕분에 버그와 런타임 에러를 줄일 수 있고, 개발의 생산성을 높일 수 있습니다.
2. 협업 관점
- 타입을 명확하기 정의하기 때문에 다른 개발자가 코드를 이해하고 사용할 때 혼동을 줄여줍니다.
TypeScript 특징
1. 컴파일 하면 JavaScript로 변환
- 기계어로 컴파일 되는 다른 정적언어와 다르게 JavaScript로 컴파일 됩니다.
- TypeScript가 먼저 코드를 확인하고, 에러가 있거나 에러가 발생할 것 같은 코드를 발견하면 컴파일 되지 않습니다.
- 따라서 런타임이 아니라 컴파일 타임에 에러를 확인할 수 있습니다.
- JavaScript로 변환되므로 NodeJS에서도 사용할 수 있습니다.
2. 타입을 명시해도 되고 안 해도 된다.
- TypeScript가 타입 추론(type inference)을 해주기 때문에 타입 주석을 명시하지 않아도 됩니다.
변수 이름: 타입 = 초깃값
형태로 타입을 명시하는 것을 타입 주석(type annotation)이라고 합니다.- 타입 주석을 쓰지 않아도 타입 추론을 통해 초깃값에 해당하는 타입으로 지정됩니다.
- 타입 표기를 적게 하는 것을 권장합니다. [참고]
- 코드가 더 짧기 때문에 가독성이 좋아집니다. 타입 추론을 이용합시다.
// 타입 표기 X (권장) let a = "hello"; a = "bye"; a = 1; // JS에서는 되지만 TS에서는 에러 // 타입 표기 O let b: boolean = false;