ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [What is?] 타입스크립트가 뭔가요?
    IT 지식 2020. 11. 1. 19:38
    728x90

     

    오늘 포스팅에서는 자바스크립트의 상위 호환으로 알려져 있는 타입스크립트에 대해 다뤄보도록 하겠습니다. 

     

     

    1. 타입스크립트? 

     

    더보기

    타입스크립트(TypeScript)는 자바스크립트의 슈퍼셋인 오픈소스 프로그래밍 언어이다. 마이크로 소프트에서 개발, 유지하고 있으며 엄격한 문법을 지원한다. C#의 리드 아키텍트이자 델파이, 터보 파스칼의 창시자인 Anders Hejlsberg가 개발에 참여한다. 클라이언트 사이드 서버 사이드를 위한 개발에 사용할 수 있다.

    (From 위키백과)

    타입스크립트는 마이크로 소프트에서 개발한 오픈소스 프로그래밍 언어 입니다. 타입스크립트는 자바스크립트의 슈퍼셋이기 때문에 자바스크립트에서 사용할 수 있는 모든 기능을 사용할 수 있습니다. 이로 인해 ES6 문법을 사용하기 위해 Babel과 같은 별도의 트랜스파일러를 설치하지 않고도 기존 브라우저 등에서 자유롭게 쓸 수 있습니다.

     

    2. 타입스크립트는 왜 만들어졌나요?

     

    자바스크립트는 기본적으로 동적 언어입니다. 여기서 말하는 동적 언어라는 것은 엄격하게 데이터 타입을 정해주지 않아도 큰 오류가 존재하지 않는 이상 무리없이 코드가 실행된다는 뜻입니다. 예를 들어, 간단한 더하기 함수를 작성했다고 할 때, 함수의 인자로 받아오는 데이터의 속성을 꼭 number로 지정하지 않아도 string이 들어오면 string을 기준으로 함수를 실행할 수 있게 해준다는 것입니다.

     

    const calculator = (a, b) => {
    	return result =	a + b;
    }
    //위의 a, b 값에 string을 입력해도 함수는 실행된다.

     

     

    하지만 이렇게 되었을 때, 에러를 코드 작성 중에 알기 힘들어진다는 단점이 존재합니다. 여러 줄의 코드를 작성하고 코드를 실행시켜보고 나서야 그 에러의 존재가 드러난다는 것이죠. 이렇게 될 경우 내가 어디에서 코드를 잘못 작성했는지 추적하기 어려워집니다. 

     

    이런 문제를 해결하기 위해 처음부터 변수에 타입을 지정해주는 타입스크립트가 등장하게 된 것입니다. 

     

    3. 타입스크립트의 장점은 무엇인가요??

     

    1) 코드의 오류를 미연에 방지할 수 있다.

     

    타입스크립트의 가장 큰 장점은 오류를 사전에 방지하기 쉽다는 점입니다. 코드를 짧게만 쓰고 말 것이라면 오류를 찾아내는 것쯤이야 그리 오래 걸릴 일이 아니겠지만, 코드가 몇백, 몇천 줄이 넘어가게 되면 그 속에서 오류를 찾아내는 것은 너무나도 힘든 일입니다(물론 요새는 많은 프로그래밍 언어들이 오류가 난 부분을 자세히 알려주기는 합니다). 그리고 기껏 코드를 다 작성하고 나서 서비스를 배포하려는 찰나에 오류가 생긴다면 업무 일정에도 차질이 생기고 코드를 전부 갈아 엎어야 하는 일이 생길 수도 있습니다. 타입스크립트는 이런 일을 사전에 방지해서 우리가 좀 더 쾌적한 환경에서 코딩을 할 수 있도록 도와줍니다.

     

    2) 자바스크립트와 호환이 잘 된다.

     

    앞서 말씀드렸다시피 타입스크립트는 자바스크립트를 기반으로 더 업그레이드 시킨 슈퍼셋 버젼의 언어입니다. 따라서 자바스크립트와의 호환이 아주 좋습니다. 특히나 ES5 이후의 문법에 익숙하신 분들이라면 아주 편하게 입문하실 수 있다는 장점이 존재합니다. 또 일단 타입스크립트를 설치한 후에 자바스크립트 위주로 코드를 작성하면서 부분부분 타입스크립트를 적용하면서 프로젝트를 진행할 수 있다는 점 역시 자바스크립트와의 호환성이 뛰어나기에 가능한 일입니다.

     

    3) 생태계가 점차 활성화 되고 있다. 

     

    타입스크립트는 19년 2월에 발표된 출시되지 얼마 안된 따끈따끈한 프로그래밍 언어입니다. 그래서 아직은 파이썬이나 자바스크립트에 비해 그 자료가 많지는 않습니다. 하지만 타입스크립트에 대한 개발자들의 관심은 점차 증가하고 있고 이에 따라 생태계도 점차 활발해지고 있습니다. 

     

    4) VS Code와의 연계가 좋다.

     

    타입스크립트는 MS에서 만든 프로그래밍 언어이고 VS Code 역시 MS에서 나온 프로그램 입니다. 이 둘 간의 호환성은 아주 뛰어나서 혹자는 타입스크립트로 코딩을 한다면 에디터는 VS Code를 사용해야 한다고 말할 정도 입니다. 

     

     

    4. 타입스크립트의 단점은 무엇인가요??

     

    1) 진입장벽이 존재한다.

     

    타입스크립트는 기본적으로 자바스크립트 위에서 작동하는 언어이다보니, 타입스크립트를 사용하기 위한 초기 셋팅이 별도로 요구됩니다. 여러 모듈들을 설치해야 하며, 컴파일 옵션들을 설정해주어야 합니다. 타입스크립트를 사용하기 위한 모듈들과 라이브러리 초기 셋팅이 까다롭고 번거로운 편에 속합니다.

     

    2) 타입 지정으로 인해 생산성이 낮아질 수도 있다.

     

    타입스크립트는 변수에 대한 데이터 타입을 지정해주어야 하는만큼, 타입스크립트에 익숙하지 않은 사람들이라면 이 초기 변수 지정에 큰 어려움을 겪는 편입니다. 

     

    3) 팀원들과의 호환성이 떨어질 수도 있다.

     

    앞서 설명드린 타입스크립트의 단점들로 인해 같이 개발하는 팀원들이 타입스크립트에 익숙하지 않을 경우 해당 문법을 이해하는데 어려움을 겪을 수도 있습니다. 이는 잘 쓴 코드의 필수 조건 중 하나인 누구나 이해하기 쉬운 코드라는 규칙에 위배될 수 있기에 팀 전체적인 차원에서 생산성을 저하시키는 원인으로 작용할 수도 있습니다. 

     

    4. 마치며

     

    타입스크립트는 고유의 특징이 존재하는만큼 기존의 자바스크립트의 동적환경에 익숙한 사람이라면 어려움을 겪을 수도 있는 프로그래밍 언어입니다. 하지만 익숙해지면 질수록, 자바스크립트에 비해 더 큰 생산성을 발휘할 수 있으며, 후에 정적인 언어를 접하게 되더라도 큰 어려움을 겪지 않게 된다는 장점이 존재합니다. 개발이 늘 그렇듯 어느 하나의 정답이 존재하는 것이 아니라 다양한 답이 존재하기에, 타입스크립트와 자바스크립트의 장단점을 잘 비교하신 후에 본인에게 더 잘 맞는 언어를 선택하시길 바라겠습니다. 

     

    그러면 오늘도 불코딩 하세요~!!!

     

    728x90

    댓글

Designed by Tistory.