-
[TypeScript] 타입스크립트란 무엇일까요?Coding/TypeScript 2020. 8. 25. 22:48
타입스크립트란 무엇일까요?
타입스크립트는 마이크로소프트가 개발하고 유지하는 오픈소스 프로그래밍 언어로 2012년 말 발표되었습니다.
발표가 된지는 꽤나 되었으나, 구글의 Angular 버전 2에서 타입스크립트를 채택한 이후로 널리 알려지게 되었습니다.
요즘은 Angular의 경쟁 프레임워크라고 볼 수 있는 React, Vue에서도 타입스크립트를 많이 사용하고 있습니다.
타입스크립트는 Javascript의 ES5 이후로 매년 새로운 버전을 발표하는 ESNext에 Type 기능을 추가한 언어입니다.
그렇기 때문에 자바스크립트 ES7이하의 기능을 모두 포함하여 사용할 수 있습니다.
특히, ES6의 새로운 기능들을 사용하기 위해 Babel과 같은 별도 트랜스파일러를 사용하지 않아도 ES6의 기능을 그대로 전부 사용할 수 있다는 점에서, 자바스크립트의 상위집합이라고 보는게 맞겠습니다.
실제로 타입스크립트를 제작한 MS는 타입스크립트의 슬로건을 다음과 같이 정하였습니다.
JavaScript that scales(확장된 자바스크립트)
왜 사용해야 할까요?
이전의 자바스크립트에서도 자료형이 존재하긴 하지만, 개발자가 임의로 데이터 타입을 정의할 수 없으며
(ES6 이후로는 const, let으로 변수 재정의 가능 여부만 개발자가 정의합니다)
정의한 변수가 자연스럽게 여섯 가지 타입 중 하나에 속하게 되는 것이라고 보는게 맞겠습니다.
실제로 타입스크립트가 등장하게 된 배경도 자바스크립트의 Type의 부재 때문이라고 볼 수 있습니다.
여러 개발자들이 협업하는 환경이라고 가정했을 때, 다음과 같은 이슈가 발생할 수 있습니다.
function callApi(name, address, age) { // 다른 개발자가 작성한 함수 }
name과 address는 String이라고 유추가 가능하지만, API를 호출할 때 age는 String인지, Number인지 알 수 없다.
애초에 타입스크립트로 작성되어 다음과 같이 구현되어있었다면 이러한 이슈는 발생하지 않았을 것입니다.
function callApi(name: string, address: string, age: number) { }
여러 개발자가 모여 하나의 소프트웨어(or 서비스)를 만드는 환경이라면, 개발자 간의 원활한 소통을 위해서 타입스크립트를 사용하는 게 훨씬 편할 것 입니다. 이러한 이유 때문에 요즘의 대규모 소프트웨어를 개발할 때에 자바스크립트보다 타입스크립트를 선호하게 되었습니다.
출처
- Do it! 타입스크립트 프로그래밍
'Coding > TypeScript' 카테고리의 다른 글
[Typescript] 옵셔널 체이닝(Optional Chaining) 파헤치기 (0) 2021.04.20 아직 타입스크립트 사용을 고민 중이라면 (타입스크립트를 1달 간 사용해본 후기) (0) 2020.10.27 [TypeScript] 외부 객체 undefined 에러를 해결해보자!(Feat. 자바스크립트와의 차이) (0) 2020.09.18