왜 굳이 Typescript를 사용하려고 할까?
왜 굳이 Typescript를 사용하려고 할까?

왜 굳이 Typescript를 사용하려고 할까?

웹 프론트엔드에서는 아주 오래전부터 Javascript를 통해 개발을 해왔으며

프론트 개발을 더 편리하게끔 해주기 위해 나왔던 JQuery 라이브러리도 나온지 10년이 넘어가고 있습니다.

Javascript는 굉장히 편리한 개발언어입니다. Java나 C#같이 잘나가는 언어들에 비해 알아야할 개념들도 훨씬 적고

평소에 우리가 사용하는 웹브라우저(크롬이나 엣지 등등)만 있어도 본인이 직접 개발한 코드의 결과를 손쉽게 볼 수 있습니다.

그럼에도 typescript를 사용하는 회사들이 점점 늘고 있습니다.

typescript란 뭘까요? 사실 이 언어는 Javascript와 거의 다를 것이 없습니다.

다만 type이라는 개념이 추가되었을 뿐입니다.

자신이 선언한 변수가 숫자(number)인지 문자(string)인지 등등에 대해 추가적으로 선언할 수 있다는 뜻입니다.

다만, 왜 굳이 복잡하게 그런 행위를 해야할까요?

요새 잘나간다는 Python도 type이 없는 언어인데다가

Javascript로 코딩했을 때는 쉽게 넘어갈 수 있는 이슈에 대해 굉장히 많은 경고와 에러메시지가 늘어나는 등

우리는 요새 인기가 많아지고 있다는 얘기만 듣고 시작했다가 절망하게 되고,

왜 typescript를 사용하게 되는지 납득이 가지 않게 됩니다.

사실 프로젝트 규모가 정말 작을 때는 Typescript가 별로 필요하지 않습니다.

다만 규모가 커지고 복잡해질 수록, 개발하는 인원수가 많아질 수록

본인이 함수를 사용할 때 데이터 전달은 잘했는지, 선언된 함수와 변수가 어떤 의미를 가지는지에 대해서

생각하는 데는 한계가 있습니다.

코딩을 한다는 것은 생각보다 많은 노력과 집중력이 필요한 일이고

아무리 프로그래밍 언어가 점점 쉬워지고 있다고 하더라도 여전히 어렵기 때문입니다.

개발자가 특정 변수를 선언하고 함수를 만들때는 분명 의도를 가지고 있습니다.

이는 주석을 통해서도 채울 수 있는 영역이지만, type만큼은 아닙니다.

주석은 다루는 내용이 어렵고 애매할 수록 글로 적기도 애매할 수 있는데

type은 모든 의도를 다 담을 수는 없으나 언제나 늘 확실하기 때문입니다.

함수에 있어서 이런 입력값이 있어야 하고 그에 따라 이런 반환값이 나올 것을 알 수 있으며

이를 잘못 사용했을 경우 에디터에서부터 문제가 있다는 것을 바로 알려줍니다.

또한 typescript에서만 다룰 수 있는 유니온 타입이라는 개념이 있습니다.

타입을 단순히 하나가 아닌 여러개 둘 수 있는 기능인데

“number | string” 이런식으로 정의할 경우 숫자도 사용이 가능하고 문자도 사용이 가능해집니다.

실제로 이런식으로 사용하진 않고 주로 “A | B”(A, B는 모두 클래스)와 같은 방식으로 사용합니다.

이걸 Java나 C#에서 하려면 A와 B의 상속 상위 클래스 C를 만들고 이를 A와 B를 상속하게 하는 등

굉장히 복잡한 정의와 많은 코드를 추가해야하지만

typescript는 유니온 타입을 통해 기존 Java와 C#같은 type언어보다 유연하게 사용할 수 있습니다.

결론적으로 typescript는 프로젝트 규모가 커질 때 유지보수 측면에서

더 안정적이게, 더 문제를 빨리 파악하고 해결할 수 있게 해줄 수 있기에

많은 사랑을 받고 있다고 생각합니다.

만약 typescript 도입에 대해서 고민하고 있는 회사가 있다면

우리 회사의 홈페이지의 구조가 복잡한 구조인지 유지보수적인 면에서 문제를 해결할 때 많은 시간이 소요되고 있는지에 대해

진지한 고민이 필요할 것이라 생각합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다