[Developer] 초보 개발자

타입스크립트란? Typescript란? 타입스크립트 배우기.

OnceBH 2021. 2. 28. 03:56
반응형

타입스크립트란?

타입 스크립트란? Typescript란? 타입 스크립트 배우기.

 

Nod.js 그리고 ES6에 따라 현재 자바스크립트는

다방면에서 두루두루 사용된다고 봐도 무방하지 않을까 싶습니다.

예전에 브라우저에서 사용되었다면, 지금은 서버, 게임, 심지어

머신러닝에서도 사용이 가능합니다.

하지만 여전히 자바스크립트의 고질적인 문제 중 하나로

데이터 타입을 들 수 있습니다.

자바스크립트로 변수를 선언할때 우리는 따로 데이터 타입을

명시하지 않죠. 

 

또한 계속 OOP의 상승에 따라 클래스 기반의 언어들이

많이 사용되고 있습니다. 

물론 자바스크립트로 클래스를 생성하여 사용 가능합니다.

하지만 그 이상의 무언가가 필요합니다.

좀 더 객체 지향적이고 타입을 직접 설정할 수 있는

그러한 언어 말이죠. 그리하여 타입스크립트가 개발되었습니다.

 

목차

  1. 타입스크립트란?
  2. 자바스크립트와 타입 스크립트의 차이점
  3. 꼭 타입 스크립트가 필요할까?
  4. 마치며

 

 

1. 타입스크립트란?

 

타입스크립트는 자바스크립트의 슈퍼셋으로

마이크로 소프트에서 개발되었습니다. 

이는 ES6를 지원하며 꾸준히 새로운 버전도 지원될 것입니다.

 

예전에도 다루었지만 프로그래밍 언어는 직접적으로

컴퓨터에 코드를 줄 수 없습니다. 즉 인터프리터 혹은 컴파일러를

통해서 현재의 코드를 기계가 이해할 수 있는 언어로 번역해야 하는

것입니다. 웹에서 사용되는 언어는 대부분 인터프리터를 사용합니다.

그렇기에 자바스크립트는 인터프리터 언어입니다.

인터프리터와 컴파일러의 장단점은 아래의 게시물을 확인해주세요.

 

https://ko-de-dev-green.tistory.com/20?category=864457

 

 

Compiler(컴파일러) 와 Interpreter(인터프리터) 차이점.

Compiler(컴파일러)와 Interpreter(인터프리터) 차이점. 우리는 무언가 개발하기 위해서 프로그래밍 언어를 사용합니다. 하지만 우리가 작성한 코드는, 사람을 위한 코드이죠. 컴퓨터를 위한 코드는

ko-de-dev-green.tistory.com

 

아까 타입 스크립트는 자바스크립트의 슈퍼셋이라고 했습니다.

하지만 타입 스크립트의 언어를 읽기 위해서는 컴파일러를 통해

자바스크립트의 언어로 컴파일된 후 사용 가능합니다.

타입 스크립트는 자바스크립트의 문법, 내장 함수 등을 다 포함

하고 있기에 이러한 방법이 사용됩니다.

 

또한 인터페이스라는 것을 이용하여 데이터 타입을 정확히

명시할 수 있습니다. 무슨 뜻인지 잠시 알아보겠습니다.

아래의 코드를 확인해주세요.

 

let number = 7;
number = "seven";

 

저는 number라는 변수에  숫자, 즉 정수 7의 값을 주었습니다.

하지만 다시 스트링 "seven"이라는 값으로 덮었습니다.

그리고 이는 아무런 에러 없이 잘 작동하게 됩니다.

저는 정수만 사용하고 싶었지만 정수이든, 문자이든, 

소수이든 함수이든 어떤 값이든 새롭게 덮을 수 있습니다.

 

이러한 문제를 타입 스크립트는 미연에 방지합니다.

아래의 코드를 보시죠.

 

let number : number = 10;

 

이렇게  미리 데이터 타입이 넘버임을 알려주어

숫자 이외의 값을 주지 못하도록 방지합니다.

또한 이렇게 직접 변수마다 데이터 타입을

지정할 수 있지만, 인터페이스를 통해

좀 더 쉽고 유기적으로 이용할 수 있습니다.

또한 이는 리액트와 같이 사용하면 아주 큰

효과를 얻을 수 있습니다.

빠른 시일 안에 타입 스크립트와 리액트를 같이

사용하는 게시물을 올리도록 하겠습니다.

 

2. 자바스크립트와 타입 스크립트의 차이점

 

이 둘의 가장 큰 차이점은 아무래도 타입을 설정할 수 있다는 점과

OOP를 사용하기에 더 좋다는 것일 것입니다.

타입 스크립트는 자바스크립트를 정확히 호환하면서

더 많은 기능들과 방식을 이용하여 개발이 가능합니다.

요즘 추세 또한 자바스크립트보다 타입 스크립트가 인기몰이를 하고 있습니다.

하지만 불편한 점도 많습니다.

데이터 타입을 설정하지 않거나, 알맞지 않은 값이 선언되면

어김없이 불평불만을 하게 됩니다.

이는 익숙하지 않다면 초반에 너무 빡빡하다는 생각이 드실 수 있습니다.

처도 처음 타입 스크립트로 리액트를 이용하는데 익숙해지기 전까지

너무 귀찮아서 고생 좀 했습니다.

 

 

3. 꼭 타입 스크립트가 필요할까?

 

타입스크립트가 필연적으로 필요하다 혹은 꼭 자바스크립트를

버려야 한다!라고 보기는 힘듭니다.

분명 타입 스크립트는 현재 상승세이고 더 안정되고 확장된 

자바스크립트를 사용할 수 있지만 상황에 따라서는 

타입스크립트가 필요하지 않을 수 있습니다.

회사에서 타입스크립트를 필요로 하거나

좀 더 안정된 애플리케이션이 필요하고 클래스 기반을 

많이 사용한다면 타입 스크립트가 훨씬 유리하겠지만,

그렇지 않다면 자바스크립트를 사용하는 것이 문제가 되지는 

않을 것입니다. 하지만! 그럼에도 불구하고 타입 스크립트를 배우면

특히 리액트를 이용할 때 너무너무 좋습니다.

제 개인적인 생각으로는 타입 스크립트를 이용하는 것이 더 낫지

않을까 하고 생각합니다. 

 

 

4. 마치며

 

타입스크립트는 사용하시지 않으셔도 꼭 배우시는 걸 추천드립니다.

분명 처음에는 불편할 수 있습니다. 특히 자바스크립트를 이용하셨다면

문법의 차이는 없으나, 타입 설정에 은근히 귀찮음을 많이 느끼실지도 모릅니다.

하지만 타입스크립트는 자바스크립트를 넘어서 더 자주 사용될 언어라는 것은

기정사실입니다. 현재 이미 타입스크립트의 선호도가 자바스크립트를 

넘어선 것으로 알고 있습니다.

 

항상 처음 배울 때 가장 힘이 들고 어려운 것 같습니다.

프로그래밍 언어가 사실 그 언어 자체로 무언가 만들기에는 

제약도 많고 힘이 듭니다. 그렇기에 프레임워크 혹은

라이브러리를 사용하게 되는데, 아무래도 필요한 프레임워크와

라이브러리에 좀 더 적합하고 안정적인 언어를 사용하는 게 좋겠지요.

 

이루고자 하는 것이 무엇이든 도전하실 수 있는 용기를

가지셨으면 좋겠습니다!

항상 건강하고 도전하세요!

 

완벽한 준비란 없다, 완벽한 준비란 영원히 시작하지 않는 것과 같다.

Es gibt keine perfekte Vorbereitung.

Perfekte Vorbereitung ist das Gleiche, wie nie anzufangen.

 

반응형