타입스크립트에 대한 관심이 높아지고 있다. 타입스크립트는 데이터타입과 문법을 명시적으로 작성하여 자바스크립트 코딩시 발생하는 사소한 실수들을 잡아줄 수 있도록 한다. 자바스크립트의 관대한 데이터타입과 문법의 사용을 개발자에게 정밀하고 정확하게 사용하도록 유도하도록 한다. 이것은 꽤나 효율적인데 자바스크립트 특유의 알 수 없음과 같은 에러나 타입에러 등을 사전에 방지할 수 있다.
타입스크립트 자바스크립트 차이와 사용 이유
typescript 명시적 타입을 사용하여 실수를 방지한다
프론트엔드 언어 중 관심을 받고 있는 것이 타입스크립트이다.
자바스크립트에서 파생한 것으로, 굳이 이걸 공부해야 하는 이유는 잘 모를 수도 있다. 본인도 그렇다.
자바스크립트에는 어느정도 익숙하다. 다만 개발 단계에서 안전하게 코딩을 해야 할 필요는 인지하고 있다.
타입스크립트는 이러한 문제를 해결하는데 좋은 해결책이다.
결론부터 말하면 타입스크립트는 자바스크립트이기도 하지만 명시적으로 데이터타입인 자료형을 명시적으로 지정해 주어 개발단계에서 안전한 코딩을 할 수 있도록 해 준다.
이게 얼마나 유용한지는 자바스크립트를 주로 사용하는 개발자라면 알 것이다.
코딩을 정확하게 하도록 유도한다.
자바스크립트의 단점이 있다면 데이터타입에 관대하다는 것이다.
숫자와 문자를 더하면 문자로 연산이 된다.
숫자와 숫자를 더하면 숫자로 연산이 된다.
파라미터가 있는 함수를 파라미터 없이 호출해도 연산을 한다. 다만, 에러는 표시되지 않으며 console.log 같은 명령어로 찾아야 한다.
이것이 왜 자바스크립트의 단점이 되고 문제가 될까?
혹자는 말하길 이거 때문에 굳이 타입스크립트 써야 할 필요가 있을까? 라는 얘기를 한다.
그럴수도 있다. 전통적인 언어인 C 나 C++ 또는 C# 이나 자바의 경우 데이터타입을 정확히 작성하지 않는다면 에러를 표시하고 정확하게 값을 넣도록 유도한다.
자바스크립트는 이러한 기능이 전무하다고 볼 수 있다.
실제로 코딩에 대한 깊은 이해도를 다룬 책자를 보면 자바스크립트에 대한 무수한 단점에 대해 이야기를 하고 있다.
그 중 대표적인 것이 데이터타입이기도 하다.
데이터타입이 서로 맞지 않기 때문에 발생할 수 있는 예상치 못한 버그들을 설명하고 있다. 그 중 하나가 위에서 언급한 숫자와 문자의 연산 또는 함수의 호출들이 대표적이다.
타입스크립트를 사용하면 이러한 문제점들을 코딩시 잡아주고 개발에 좀 더 도움을 받을 수 있다.
자바스크립트와 차이
타입스크립트란 자바스크립트의 슈퍼셋 언어로 자바스크립트를 기반으로한 웹프로그래밍 언어이다.
무슨 말이냐?
자바스크립트를 기반으로 그것의 단점을 보완하고 업그레이드하여 새롭게 만든 프로그래밍 언어를 말한다.
자바스크립트 기반이기 때문에 문법이 같다.
다만, 변수나 함수 등을 사용할 때는 데이터 타입을 정확히 명시적으로 작성해 주어야 한다.
이것 자체만으로도 개발자는 코딩을 할 때 실수를 많이 줄일 수 있다.
타입스크립트와 자바스크립트의 차이는 데이터 타입을 명시적으로 작성해 주는 점도 있지만 다른 하나가 있다.
자바스크립트는 컴파일이 필요없는 인터프리터 언어이며 확장자는 .js 이다.
타입스크립트는 컴파일을 해야 하는 컴파일 언어이며 확장자는 .ts 이다.
인터프리터는 컴파일 없이 코드를 작성만 하면 실행이 가능하다. 컴파일은 작성한 코드를 변환해야 실행이 가능하다.
타입스크립트로 작성한 코드는 웹브라우저에서 바로 실행을 할 수 없기 때문에 자바스크립트로 다시 컴파일을 하고 웹브라우저에 사용해야 한다.
조금 귀찮은 점이다.
타입스크립트를 웹브라우저에서 사용할 때의 과정은 아래와 같다.
- 타입스크립트로 코드를 작성한다. .ts
- 자바스크립트로 컴파일하여 js 파일로 변환한다.. .js
- 컴파일한 js 파일을 웹브라우저에서 사용한다.
꼭 필요할까
자바스크립트에 익숙해 진 개발자라면 굳이 타입스크립트에 대한 매력이 없을 수도 있다.
이미 단점을 알고 있고, 그렇게 코딩을 해 왔으며, 관대한 타입변환에 대한 디버깅이나 오류를 금방 찾을 수 있기 때문이다.
코드가 길어지거나 복잡해질 경우 자바스크립트의 실행 중에 발생하는 오류를 잡는 것이 쉽지는 않다.
이것이 자바스크립트에 익숙한 경우라면 상관없지만 그렇지 못한 경우 타입스크립트는 괜찮은 해결책일 수 있다.
코딩시 발생하는 데이터타입을 명시적으로 작성함으로써 연산오류를 사전에 방지 할 수 있다.
함수의 형태롤 명시적으로 작성하고 호출함으로써 에러를 사전에 방지할 수 있다.
이 정도만 해줘도 웹브라우저에서 실행되는 자바스크립트의 알 수 없음 에러들을 어느정도 예방할 수 있다.
이것이 큰 장점이기도 하다.
자바스크립트와 타입스크립트 중 어떤 것을 사용할지는 개발자 본인의 몫이기도 하다.
이미 자바스크립트에 어느정도 익숙한 본인의 생각은 일단 알아두면 좋다라는 측면이 있다.
하지만, 나중에라도 프로젝트에 자바스크립트를 사용할 경우 타입스크립트를 사용하게 될지도 모르겠다는 생각도 든다.
솔직히 수시로 확인해야 하는 디버깅이 너무 싫기도 하다.
'programming' 카테고리의 다른 글
wpf 프로그래밍 독학 입문하기 자습서를 활용하자. (0) | 2022.09.11 |
---|---|
xpath 란 구조화된 웹페이지의 내용을 검색하고 데이터를 추출하는 쿼리 (0) | 2022.07.27 |
오버로딩 오버라이딩 차이와 사용이유 OverLoad OverRide (0) | 2022.02.08 |
댓글