타입스크립트(TypeScript)
- 안전하고 예측 가능한 코드 구현에 초점을 맞춘 JavaScript의 상위집합(SuperSet) 언어입니다.
- javascript에 type system를 적용합니다.
- typescript로 작성된 코드는 typescript 컴파일러 tsc를 통해 javascript로 변환되고 이를 실행합니다.
- typescirpt는 에러의 사전방지와 코드 가이드 및 자동완성 기능을 제공합니다.
타입 시스템 (Type System)
- **타입 시스템(Type System)**은 프로그래밍 언어에서 변수, 함수, 표현식 등의 값들에 타입을 부여하고 이러한 타입들 간의 상호작용을 규정하는 체계를 의미합니다.
- TypeScript는 정적타입을 지원 변수의 정의와 함께 대입할 값의 타입을 함께 지정합니다.
- 변수를 정의 하면서 함께 지정하면 해당 타입의 데이터만 대입 가능하며 다른 타입 값을 대입하면 컴파일 시점에서 에러가 발생합니다.
- 변수의 선언과 마찬가지로 함수의 매개변수, 반환 값의 정의에도 동일한 시스템을 적용합니다.
JavaScript vs TypeScript
TypeScript |
Javascript |
정적언어 |
동적언어 |
컴파일러 언어 |
인터프리터 언어 |
유연 |
간결성, 일관성, 재사용성 |
독립적 실행 |
의존적 실행 |
소규모 프로젝트 |
큰 규모 프로젝트 |
typeScript가 필요한 이유
아래 코드는 매개변수로 금액을 받아 입금을 하는 함수
// 현재 금액
let currentMoney = 100;
// 입금 함수
function deposit(money) {
currentMoney += money;
return `현재 금액은 ${currentMoney} 입니다.`
}
// 문자열 숫자가 만약 들어갔다면
deposit('10000') // '10010000'이 출력