요새 타입스크립트를 쓰는 개발자가 늘어나는 추세다. 자바스크립트에 타입을 명시한 언어가 타입스크립트라고 주워 들었었다. 그렇다면 왜 자바스크립트 대신 타입스크립트를 쓰게 되었는지 이유를 알아보도록 하자. 그리고 타입스크립트가 항상 모든 자바스크립트 언어를 대체할 수 있는지도 파악해 보겠다. 이미 시크님께서 두 언어를 비교한 포스팅을 올려두셨다. 참고 포스팅에서 다루지 않는 내용들을 주로 다룰 예정이다.
https://kid-dev.tistory.com/13
Typescript 등장 배경
타입스크립트는 2012년 마이크로소프트에서 개발한 언어다. 자바스크립트로는 작성하기 힘든 복잡한 대규모 프로그램을 다루기 위해서 타입스크립트를 만들었다고 한다. 타입스크립트는 자바스크립트에 몇가지 특징을 추가해서 만들었다. 모체가 자바스크립트이기에 자바스크립트 코드는 대부분 타입스크립트로 컴파일이 가능하다.
Javascript가 있음에도 Typescript를 쓰는 이유
앞에서 본 이야기와 비슷하다. 자바스크립트의 단점으로 인해 타입스크립트가 필요해진 것. 자바스크립트는 스크립트 언어이다. 실제로 자바스크립트는 앱과 웹페이지의 주요 스크립트 언어로 간주된다. 프론트엔드 뿐만 아니라 Node를 활용해서 백엔드로도 사용이 가능하다. 이렇게만 보면 팔방미인인데 과연 이 자바스크립트로 복잡한 웹 프로그래밍을 할 수 있을까? Maybe no..
자바스크립트 언어는 객체지향 프로그래밍에 걸맞지 않다. Object Oriented Programming 관점에 맞는 스프링 프레임워크나 ORM을 사용하는 추세에는 맞지 않은 언어인 셈. 반면 Typescript는 객체지향 프로그래밍을 지향하고 있기에 대규모 프로젝트에는 훨씬 적합한 편이다.
Typescript의 장점
1. 타입을 명시함으로써 런타임 단계에서 에러가 날 상황을 컴파일 단계에서 미리 체크할 수 있다.
2. 명확하고 간결한 코드를 작성하기에 적합하다.
3. 자바스크립트와 마찬가지로 front/back 모두에 사용될 수 있다.
4. 코드를 크게 손상시키지 않고 쉽게 리팩터링할 수 있습니다.
객체지향 프로그래밍의 장점이 그대로 부각된다. 가독성이 좋고 확장하기에 좋은 코드를 작성할 수 있다. 특히 자바스크립트에서 동적으로 type이 할당되는 점은 종종 오류로 이어지게 된다. 이는 개발자의 효율성을 떨어뜨릴 뿐만 아니라 새로운 코드 라인을 추가하는 비용 증가의 문제가 생긴다. 타입스크립트를 사용하면 이런 문제에서 벗어날 수 있다.
Javascript는 없어지나?
앞선 장점 및 특징들을 보면 자바스크립트는 모두 타입스크립트로 대체할 수 있어 보인다. 그렇다면 앞으로 자바스크립트는 영영 사라지게 될까? 먼 미래에는 어떨지는 몰라도 당분간은 아니라고 생각한다. 타입스크립트는 컴파일 과정에서 자바스크립트 코드로 변환하는 단계를 거치게 된다. 반면 웹 개발에서 자바스크립트는 어떤가?? 우리는 코드를 수정하고 수정 내용을 브라우저를 통해서 즉각 확인할 수 있다. 웹 브라우저를 통한 디버깅과 컴파일이 간편한 편이다. 그러나 타입스크립트는 이게 불가능하다.
TypeScript는 깔끔하고 깨끗한 가독성 좋은 코드를 만들고 싶은 개발자에게 적합하다. 자바스크립트는 포괄적인 프로그래밍 언어는 아니지만 웹 페이지 프로그래밍에 더 적합하다.
결론 : 필요에 따라서 언어를 선택하면 된다.
'TechTalk' 카테고리의 다른 글
WSL2 with VS Code (0) | 2023.03.10 |
---|---|
Webpack 에 대한 소개 (1) | 2023.02.02 |
direnv 윈도우10에서 사용하기 (0) | 2022.12.25 |
[Android] secret 관리를 위해 local.properties 활용하기 (0) | 2022.03.30 |
키움증권 영웅문4에서는 조건식 정보를 어떻게 관리할까? (0) | 2022.03.19 |