브렌쏭의 Veritas_Garage

타입스크립트, MS의 모빌슈츠는 괴물인가? 본문

[Project_만들다]/[Project_자아내다]

타입스크립트, MS의 모빌슈츠는 괴물인가?

브렌쏭 2022. 3. 22. 09:06
  • 마이크로소프트에서 구현한 JavaScript의 슈퍼셋(Superset) 프로그래밍 언어.
  • 확장자로는 .ts를 사용하며, 컴파일의 결과물로 JavaScript 코드를 출력한다.
  • 최종적으로 런타임에서는 이렇게 출력된 JavaScript 코드를 구동시키게 된다.

자바스크립트의 문제 중 하나는, HTML을 조작하는 것에서 출발했기 때문에 나사빠진 요소들이 종종 보인다는 점이다.

  • 비동기 방식 함수를 쓰다보니 콜백지옥이 나타난다느니,
  • 숫자를 정렬시켰는데 그걸 굳이 아스키로 변환해서 비교한다던지,
  • 문자 "5"와 5를 더하면 10이 계산되어버린다던지...

특히나 마지막 문제는 큰 사이즈의 작업을 할수록 미묘한 부분인데, 적확한 데이터타입을 고정해서 코드를 작성해도 자바스크립트는 대충 작동시켜버린다는 점이다. 실제로 작업을 하다보니 느낀건데, js는 놀라울정도로 과묵하다. 작동을 안하는데 오류를 안뿜는다. 돌아버린다.

그래서 언제나처럼 히어로가 구하러 와준것이다. Microsoft라는 거물급 히어로가.

타입스크립트.ts

타입스크립트 로고

TypeScript라는 이름답게 정적 타입을 명시할 수 있다는 것이 가장 큰 차이점이다. 그 덕에, 코드 자동 완성이나 잘못된 변수/함수 사용에 대한 에러 알림을 받을 수 있게 된다. 자바스크립트에 비해 어마어마한 생산성 향상을 꾀할 수 있다.

즉, '자바스크립트를 실제로 사용하기 전에 있을만한
타입 에러들을 미리 잡는 것' 이
타입스크립트의 사용 목적이다.
- 킹무위키 -

일단 ts포맷인데, 이걸 그대로 쓰는건 아니고 ts로 작성한 뒤 js파일로 변환하는 과정을 거친다. 이때 버젼을 선택할 수 있어서, 되려 ts로 작성했다면 IE도 지원하는 고릿적 js를 만들수도 있다.

타입또한 유저가 원하는대로 선언가능해서(!) 타입들만 따로 지정해서 저장해두는 .d.ts 파일도 만들 수 있다.

물론 결국에는 .js로 돌린다

어차피 결국 컴파일러가 보는건 js파일이기 때문에, 특히나 향후 데이터가 입력될 때 예상치못한 일이 일어날 수도 있다고 한다. 

활용도가 높아지는 웹 프론트엔드 언어, 타입스크립트[TypeScript] (samsungsds.com)

 

활용도가 높아지는 웹 프론트엔드 언어, 타입스크립트[TypeScript]

활용도가 높아지는 웹 프론트엔드 언어, 타입스크립트[TypeScript]

www.samsungsds.com

아직 실제로 사용해보진 않아서 구경을 열심히 하는 중이다.

Comments