타입스크립트 vs 자바스크립트

전은찬·2023년 1월 19일
0
post-thumbnail

오늘은 자바스크립트 js와 타입스크립트 ts에 대해 이론적으로 풀어보겠다.

우선적으로 자바스크립트와 타입스크립트에 대한 특징을 알아보자.

JS, 자바스크립트는 동적 타입 언어이며 유연하다.
타입(string, number 등..)에 제한을 받지 않아 유연하다고 보면 된다.

TS, 타입스크립트는 정적 타입 언어이며 타입에 관해 일관성이 있기 때문에 타입에 대해 확실하게 표현 할 수 있다.

추가적으로 JS는 비교적 작은 프로젝트에 적합하고, TS는 복잡한 프로젝트에 적합하다.

유연하면서 독립적으로 사용가능한 JS를 대신하여 TS를 사용하는 이유에는 여러가지가 있다.
일단 JS는 타입을 지정해주지 않기때문에 형에 대한 변환이 종종 발생한다.


위의 이미지처럼 JS, 자바스크립트는 타입을 따로 설정해주지않기 때문에 문자열과 숫자를 + 해주면 형변환이 일어난다.
그말은 즉 비교적 적은 코드에서는 쉽게 확인하여 에러를 찾을 수 있지만,
많은 코드에서는 위처럼 형변환이 어떻게 반환될지 모르기때문에 에러를 찾기 힘들 수 있다.

이러한 예상 불가능한 에러때문에 TS, 타입스크립트를 권장한다고 보면 이해가 쉽다.

이에 반해 TS, 타입스크립트는 타입을 변수 선언과 동시에 표현(?)해주기 때문에 에러를 쉽게 확인할 수 있고, 코드 작성적인 부분에서 직관적이다.

이렇게 보면 무조건 적으로 TS, 타입스크립트가 좋은 것이 아니냐? 할 수 있지만
사실 꼭 그렇지만은 않다.

타입스크립트는 자바스크립트의 문법을 기반으로 한다.
그렇게 때문에 실행될 때 자바스크립트로 변환되기때문에 실행 속도에서 자바스크립트보다 불리하다.

그리고 위의 코드에서 보이는 것처럼 하나 하나 타입을 설정해주기때문에 번거롭기도하다.

그럼에도 불구하고 타입스크립트를 사용하는 이유는
실제 연구적으로도 자바스크립트에서 발생하는 버그를 타입스크립트를 사용하여 15% 예방한다는 연구 결과도 있고,
자바스크립트를 기반으로 탄생한 것이 타입스크립트이기때문에 상호적으로 호환이 가능하다는 장점이 있다.

그리고 무엇보다 타입스크립트의 사용량이 높기때문에 취업이나 프로젝트에 도움이 될 가능성이 크다는 장점이 있다. ! ! !

profile
no record no memory

0개의 댓글