본문 바로가기
프로그래밍_

Nodejs typscript 사용해야 할까?,사용법

by Mocca_ 2023. 2. 6.

nodejs 개발을 하면서 항상 설치되며 늘어나는 프레임워크, 라이브러리들이 많아서 고민되었습니다. 그 중에 하나는 typescript입니다. Typescript는 사용하는 사람도 많지만 사용하지 않는 사람도 많습니다. 오늘은 nodejs를 이용하면서 typescript를 사용해야하는지 알아보겠습니다. 


[목차]

  1. TypeScript란?
  2. TypeScript 사용해야할까? - 찬성의견 , 사용법
  3. TypeScript 사용해야할까? - 반대의견
  4. 결론

반응형

 

 

 

1. TypeScript란?

 

Typescript는 마이크로소프트에서 구현한 Javascript의 정적 프로그래밍 언어입니다. TypeScript는 type이 없는 자바스크립트에 정적인 타입을 넣어줄 수 있게 만들어줍니다. 순수 자바스크립트는 타입이 명시되어 있지 않아서 잘못된 변수, 함수로 인한 에러처리가 힘들다는 점을 Typescript가 보완해주었습니다.

 

//javascript

const a = 1; 
const b = 2;
console.log(a+b)


//typescript

const a:string = '2';
const b:number = 5;
console.log(a+b)

 

위의 블럭에서 자바스크립트와 타입스크립트의 차이점을 분명하게 알 수 있습니다. typescript는 ':' 를 붙여서 해당 변수가 어떤 타입인지 명시해야합니다. 반면에 자바스크립트는 변수 안에 동적으로 할당되어 자동으로 연산됩니다. 

 

결과값은 위의 경우 '15'가 출력되고 타입스크립트로 된 아래의 결과값은 오류로 가정하게 됩니다.

 

타입스크립트는 React 뿐만 아니라 Nodejs 에서도 사용할 수 있습니다. 보통 프론트엔드와 백엔드가 API를 통해서 통신을 주고 받게 되는데 이 때 TypeScript를 통해 해당 타입을 명시해주면 안정성이 올라간다는 장점이 있고 백엔드 개발자도 편리하게 에러가 생기면 해결할 수 있다는 장점이 있습니다. 

 

 

 

 

 

 

 

2. TypeScript 사용해야할까? - 찬성의견, 사용법

 

앞서 말했다시피 TypeScript의 장점으로는 타입을 정해놓음으로서 미연에 생기는 오류를 예방하는 것입니다. 데이터 포맷은 개발 과정 중에서 수도 없이 변경됩니다. 이러는 과정에서 데이터의 타입을 확정해놓고 명확하게 분류해 놓는 것은 백엔드, 프론트엔드 개발 사이에서 중요한 일입니다.

 

구글의 Angular프레임워크에서는 무조건 타입스크립트를 사용하여야 가능하게끔 바뀌었습니다. 페이스북의 React는 선택적으로 Typescript를 사용가능하도록 하였습니다. 

 

마이크로소프트가 만들었기 때문에 C언어와 친근합니다. 문법적으로 유사성이 있습니다. Generic기호에 <>를 쓰는 것도 기존 개발자에게 친숙합니다. 특히 Visual Studio Code는 Typescript를 적극지원하며 타입스크립트 코드를 자동완성시켜주는 플러그인도 활성화되어 있습니다.

 

자바스크립트와 호환성이 좋은 것도 타입스크립트를 사용하는데 한몫합니다. React에서 사용하는 타입스크립트 파일인 .tsx파일은 일반 .js와 100%로 호환이 가능하며 이는 점진적으로 타입스크립트로 프로젝트를 바꾸어나가는데 도움을 줍니다.

 

 

 

 

 

 

 

3. TypeScript 사용해야할까? - 반대의견

 

타입스크립트에 대해서 장점만 있다고 하긴 무리가 있습니다. Java 나 C언어 계열에 익숙해진 분들은 정적 타입 변수나 함수를 사용하는 것을 귀찮아하지 않겠지만 기존 프론트엔드계열의 자바스크립트 개발자에겐 귀찮은 일거리가 늘어난 것일 뿐입니다.

 

매번 함수나 변수마다 정적타입을 명시해주는 것은 생산성이 떨어집니다. 또한 코드가 길어져서 가독성이 좋지 않습니다. 상대 개발자도 타입스크립트에 대해 익숙해야하며 서로 타입스크립트에 익숙하다는 전제가 깔려있어야 됩니다.

 

자칫 엄격할 수 있는 TypeScipt의 문법도 개발시간이 늘어갑니다. 대부분의 프로젝트는 순수 Javascript로 구성되어 있습니다. 간단한 함수나 변수조차도 타입을 명시해야 에러가 나지 않으며 이 엄격한 타입스크립트의 모드를 유연성있게 사용할 수 없어 생산성에 저해됩니다. 

 

 

 

 

 

 

 

 

 

 

 

4. 결론

 

저의 주관적인 생각으로는 타입스크립트를 쓰지 않고 있습니다. 회사에서 타입스크립트를 전적으로 사용하고 시스템에도 적용하고 있으면 사용하지만 그렇지 않다면 생산성에 저해되고 자바스크립트 특유의 간결함과 편의성이 없어진다고 생각하기 때문입니다. 

 

스타트업이나 사이드 프로젝트 같은 경우에는 타입스크립트를 도입하지 않는 것이 보일러 플레이트를 없애고 빠르게 피드백을 받을 수 있는 길입니다. 타입스크립트의 안정성이나 장점은 이미 많이 언급하고 잘 알려져있지만 Nodejs나 React에서는빠르게 개발할 수 있다는 이점도 없어집니다. 배보다 배꼽을 우선시하면서 효율성이 낮아지는 것을 원치 않습니다.

 

선택은 자유입니다. TypeScript를 도입하므로서 어떤 것을 변화시켜야하고 유지보수를 어떻게 해야되는지 정확하게 판단하시고 개발하면 더 좋아보입니다. 

 

 

반응형

 


[함께 읽으면 좋은 글]

 

2023.01.30 - [취미로 코딩하기] - Nodejs이란, Nodejs 설치, 웹서버 정리

 

Nodejs이란, Nodejs 설치, 웹서버 정리

Nodejs를 통해서 현 직장에서 웹서버 관리 및 유지보수를 하고 있습니다. NodeJs가 가져온 변화는 엄청납니다. 변화하는 속도도 빠른데요. 오늘은 Nodejs가 무엇인지 어디에 쓰이고 웹서버를 어떻게

commnetall.tistory.com

 

2023.01.26 - [취미로 코딩하기] - 자바스크립트 ES6 , CommonJS 문법, 모듈시스템 차이

 

자바스크립트 ES6 , CommonJS 문법, 모듈시스템 차이

nodejs의 장점은 모듈시스템입니다. 모듈시스템을 구성하는 방법은 node에서는 단순하게 ES6식, CommonJS식 모듈시스템 2개가 있습니다. 오늘은 ES6, CommonJS 뭐가 다른지 어떨 때 무엇을 쓰는게 현명한

commnetall.tistory.com

 

2022.12.26 - [취미로 코딩하기] - 처음 프로그래밍 배울 때, 웹 개발을 먼저 해봐야하는 이유

 

처음 프로그래밍 배울 때, 웹 개발을 먼저 해봐야하는 이유

처음 프로그래밍을 배울 때 C로 시작했습니다. C로 프로그래밍을 배울 때 결과창인 흑백 콘솔을 볼 때마다 이게 왜 필요가 있는지 계속 생각하곤 했습니다. 익숙치 않은 C언어라는 프로그래밍 언

commnetall.tistory.com


 

 

 

댓글