이전까지 공부한 TypeScript 정리 겸 플러스 과정 수업 내용 정리하기!
Microsoft에서 개발한 JavaScript에 타입을 붙인 언어로, JavaScript 기반의 강형(strongly typed programming language) 언어이다.
📌강형 언어 VS 약형 언어
강형 언어(strongly typed programming language)
정의된 모든 상수 또는 변수에 데이터 타입이 선언되어야 하는 프로그래밍 언어. 타입 변환이 불가하다. 강형 언어는 컴파일러를 사용하는데, 문법 체크 혹은 타입 체크를 컴파일 단계에서 실행시킨다. 오류 발생 시 재빠르게 확인, 수정이 가능하다.
C++, Java, Python, TypeScript 등이 강형 언어이다.
약형 언어(weakly typed programming language)
상수 또는 변수에 데이터 타입이 선언되지 않아 오류 발생 시 런타임 시점에 발생한다. 타입 변환이 가능하다.
JavaScript, PHP 등이 약형 언어이다.
TypeScript로 작성된 코드는 TypeScript Complier(tsc)를 이용해 JavaScript로 컴파일된다.
// ts코드
function sum(a: number, b: number): number {
return a + b;
}
sum(10, 20);
// js코드
function sum(a, b) {
return a + b;
}
sum(10, 20);
에러를 사전에 검출해 준다. JavaScript를 사용한 프로젝트의 개발 단계에서 오류를 발견하지 못하고 배포했을 경우, 사용자에 의해 에러를 발견하는 위험한 상황이 발생할 수도 있다. TypeScript는 개발 단계에서 오류를 발견하여 즉각적인 수정이 가능하다.
코드 가이드 및 자동 완성 기능이 있다. 변수나 상수에 타입을 정확하게 명시해 주었기 때문에 타입에 맞는 메소드를 자동 완성 해주어 코드의 힌트를 얻을 수 있다.
TypeScript 소스 코드를 브라우저에서 실행시키기 위해서는 JavaScript 소스 코드로 변환시켜 주어야 한다. TypeScript 소스 코드를 읽어 검증하고 JavaScript 소스 코드로 변환하는 작업을 TypeScript 컴파일러(tsc)를 통해 해준다.
TypeScript 컴파일 단계에서 TypeScript의 소스코드를 JavaScript 소스코드로 변환시켜 주고, 타입 관련 구문을 제거해 준다. 또한 브라우저 호환성을 위해 구 버전의 JavaScript로 변환해 준다.
npm i typescript -g
tsc 파일명.ts
node 파일명.js
// ts 컴파일 전
(() => {
function hello(name: string) {
return "Hello" + name;
}
console.log(hello("Yeo"));
})();
// ts 컴파일 후
(() => {
function hello(name) {
return "Hello" + name;
}
console.log(hello("Yeo"));
})();