Today
-
Total
-
  • [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! 타입스크립트 프로그래밍

    댓글