타입스크립트(Typescript)는 마이크로소프트(MS)에서 개발한 오픈소스 프로그래밍 언어이며, Javascript의 단점을 보완하기 위해 만들어졌다.
- 모든 브라우저, 호스트, 운영처제에서 동작한다.
자바스크립트(Javascirpt)는 동적 타입 언어(dynamic type language)이기 때문에 런타임 속도는 빠르지만 *타입 안정성이 보장되지 않는다.
//Javascript
funciton add(n1, n2) {
if(typeof n1 !== 'number' || typeof n2 !== 'number') {
throw new Error('Incorrect Input);
}
return n1 + n2;
}
const result = add(39, 28);
// Typescript
function add(n1:number, n2:number){
return n1 + n2;
}
const result = add(39, 28)
*타입 이란 프로그램에서 다룰 수 있는 값의 종류를 의미(string, number, boolean, bigint, null, undefined,[], {} 등)하는데
타입 안정성이 보장되지 않는다는 것은 이러한 값의 종류가 잘못 전달될 경우(버그)를 잡기 어렵다는 것을 의미한다.
따라서 Typescript의 경우 타입을 선언하여 자바스크립트에서 모호하게 사용되던 타입을 제어할 수 있게되어 훨씬 더 간편하게
에러를 잡을 수 있다.
ES6 는 ECMAScript의 약자이다. 그리고 숫자는 버전을 의미한다.
*ECMAScript란 (European Computer Manufacturers Association) Script의 약자로 자바스크립트를 이루는 코어 스크립트
언어이다. ECMA 인터네셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어로 자바스크립트 표준 규격을 의미한다.
*어노테이션이란 타입스크립트가 가진 고유의 기능이고, 자바스크립트랑 가장 차별되는 기능이다. Type이라는 요소가 코드안에 나타내어진다.
let a: string;
// 이렇게 특정한 변수 혹은 특정한 개체 등에 어떤 타입이라고 지정해주는 일을 Type Annotation이라고 한다.
타입이 지정되면 변수는 엄격한 타이핑이 적용돼 타입 안정성을 확보한다.