Typescript란?

김무연·2023년 12월 7일

TypeScript

목록 보기
2/4

타입스크립트란 자바스크립트의 타입을 강제시키는 언어입니다.

기존의 자바스크립트에서는 아래와 같이 변수에 문자열을 할당했다가 이후에 숫자열을 재할당해도 문제가 되지 않습니다.

자바스크립트는 자료형에 연연하지 않고 값 할당이 자유롭게 가능합니다

let test = "testcode"
test = 12345

하지만 타입스크립트에서는 변수의 타입을 강제시켜 지정해주기 때문에 재할당이 불가능 합니다.

let test: string = "testcode"
// 오류
test = 12345

// 성공
test = "12345"

브라우저는 HTML, CSS, Javascript만 읽을 수 있는데 타입스크립트는 어떻게 될까?
=> 실행시 자바스크립트 코드로 변경된 후 실행 됩니다

컴파일 : 하나의 언어가 다른 언어로 변경 되는 작업
트랜스파일 : 하나의 언어가 같은 언어의 다른 버젼으로 변경되는 작업

위 처럼 다른 언어로 변경해주는 도구를 컴파일러 또는 트랜스파일러 라고 합니다

Typescript를 사용하는 이유

Javascript는 타입이 엄격하지 않습니다.
따라서, 변수나 상수를 만든 후 처음엔 문자를 넣었다가, 이후 숫자를 넣거나 하는 등 자유자재로 변환이 가능합니다.

물론 보기에는 개발할 때 편리해 보이지만, 큰 서비스를 여러명이 개발하는 경우 문제를 야기할 수 있습니다.

가령 예를 들어 count에 숫자 1을 더 해주는 함수가 있다면 정상적으로 실행되면 0 > 1 > 2 > 3.. 으로 실행이 되어야 하지만 count의 초기값이 '0' 으로 되어있다면 실행했을 시 '01' > '011' > '0111'... 으로 의도하지 않은 대로 흘러갈 수 있습니다.

이렇듯 타입에 의한 문제를 미리 자료형을 강제시켜 예상치 못한 오류를 방지할 수 있다는 장점이 있습니다.

또한 정적 타입 기반, 즉 컴파일을 하는 과정에서 타입을 결정하게 됩니다. TypeScript는 컴파일 과정에서 타입을 지정하기 때문에 컴파일 에러를 예방할 수 있을뿐 아니라, 손쉬운 디버깅이 가능해지며, 미리 오류를 예방할 수 있습니다. 실제 연구에 따르면 모든 JavaScript 버그의 15%가 사전에 TypeScript로 감지할 수 있다고 합니다.

또한, TypeScript는 높은 생산성을 제공합니다. Javascript로 코드를 작성할 때, 객체의 필드나 함수의 매개변수로 들어오는 값이 무엇인지 알기 위해 여러 파일을 살펴야 했지만 TypeScript를 사용한다면 변수의 이름뿐만 아니라 그 테이터의 자료형까지 알 수 있게 됩니다. 그래서 코드 작성을 쉽고 직관적으로 할 수 있습니다.

profile
Notion에 정리된 공부한 글을 옮겨오는 중입니다... (진행중)

0개의 댓글