타입스크립트를 왜 사용할까?

yesung·2023년 12월 12일
1
post-thumbnail

타입스크립트를 왜 사용할까

자바스크립트의 한계가 있기 때문이다. 그러한 부분을 극복하기 위해 사용된다.

자바스크립트의 한계

동적 타입 언어

자바스크립트 특징 중 하나가 동적 타입 언어라는 것이다. 이 말은 변수에 타입을 명시적으로 지정하지 않고 코드가 실행되는 런타임에 변수의 값이 할당될 때, 해당 값의 타입에 따라 변수 타입이 결정된다는 것을 의미한다.

let a = 1;
let b = '1';

예를 들면 변수 a, b 타입이 number 인지 string 인지는 실제 코드가 동작할 때, 값이 할당되는 순간, 그 값이 1인지 '1' 인지에 따라 결정된다.

동적 타이핑 시스템의 한계

 정상 코드
const sum = (a, b) = > {
  return a + b;
}
sum(1, 2)// 3
sum(100) // NaN
sum('a', 'b') // ab

해당 코드는 정상 작동한다. 즉, 자신이 작성한 의도와 다르게 작동을 할 수가 있다.

결국 sum 함수를 호출할 때 사용되는 인수 값에 따라서 a와 b 타입이 결정된다.
등등 JSDoc ,다트(자바스크립트를 대체하기 위한 언어) 등 자바스크립트의 한계를 극복하기 위한 방안들이 있다.

타입스크립트 등장

마이크로소프트는 자바스크립트의 슈퍼셋 언어인 타입스크립트를 공개했다. 자바스크립트를 코드를 그대로 사용할 수 있고 다양한 단점을 극복할 수가 있었다.

슈퍼셋 : 기존 언어에 새로운 기능과 문법을 추가해서 보완하거나 향상하는 것을 말한다.

  • 안전성 보장 : 타입스크립트는 정적 타이핑을 제공한다. 컴파일 단계에서 타입 검사를 해주고 자바스크립트를 사용했을 때, 빈번하게 일어나는 타입 에러를 줄일 수도 있고 런타임 에러를 사전에 방지할 수 있어서 안전성이 크게 높아진다.

  • 개발 생산성 향상 : 개발 가능한 IDE에서 타입 자동 완성 기능을 제공해주고 이 기능으로 변수와 함수 타입을 추론할 수 있고 리액트에서 porp을 넘겨야 하는지 매번 확인하지 않아도 사용부에서 바로 볼 수 있기 때문이다.

  • 협업 유리 : 타입스크립트를 사용하면 복잡한 애플리케이션 개발/협업에 유리하다. 타입스크립트는 인터페이스 , 제네릭 등을 지원하는데 인터페이스가 기술되면 코드를 더 쉽게 이해할 수 있게 도와준다.

아울러, 자바스크립트에 점진적으로 적용이 가능하다.

profile
Frontend Developer

0개의 댓글