[Typescript] 타입스크립트가 뭘까?

타입스크립트는 자바스크립트의 superset이라고들 말한다.
자바스크립트에 타입을 부여한 언어로, 자바스크립트를 기반으로한 확장된 언어이다.

타입스크립트를 왜 써야하나?

자바스크립트만으로도 충분히 구현가능한데 굳이 타입스크립트를 왜 써야하나 싶지만 타입스크립트를 사용하면 에러를 사전에 방지할 수 있고, 유지보수가 쉬운 코드를 짤 수 있다.

타입스크립트의 특징

1. 타입 표기

  • 변수값에 데이터 타입 지정 가능

데이터 타입을 지정할 수 있기 때문에 코드 실행 전 컴파일 에러 메세지가 출력되면서 다른 데이터 타입으로 인해 발생할 수 있는 에러를 미리 캐치한다.

add 함수의 인자로 정수만 받고 싶어 아래와 같이 함수를 짰다고 가정해보자. js는 인자로 문자열을 넣는다면 별 다른 에러 없이 '35'를 출력하겠지만 ts는 에러를 출력한다.

타입스크립트는 타입을 명확히 지정해줌으로써 의도한 결과를 얻을 수 있다는 장점이 있다.

//자바스크립트
function add(a, b) {
	return a+b
}

console.log(add('3','5'))  //'35'
//타입스크립트
function add(a: number, b:number) {
	return a + b;
}

console.log(add('3','5'))  //Error: '3'은 number에 할당될 수 없습니다.

2. 객체 지향적이다

3. 컴파일 타입 오류를 잡을 수 있다.

  • 코드 수준에서 미리 타입 오류를 캐치한다.

자바스크립트로 실행되는 브라우저가 타입스크립트 코드를 이해하지 못하기 때문에 타입스크립트는 자바스크립트 환경에서 실행할 수 없다.

브라우저에서 실행되려면 타입스크립트 파일을 자바스크립트 파일로 변환해주는 컴파일을 거쳐야한다.

타입스크립트는 프로그래밍 언어임과 동시에 타입스크립트를 자바스크립트로 변환시켜주는 컴파일러이기도 하다.


🎃 알고가기

컴파일이란? 어떤 언어의 코드를 다른 코드로 바꿔주는 변환 과정이다.

컴파일 언어

컴파일 언어는 프로그래머가 작성한 코드 전체를 기계어로 변역한 후 링킹 작업을 거쳐 코드를 실행한다.

  • 소스코드를 기계어로 번역하는 빌드 과정이 인터프리터 언어보다 오래 걸린다.
  • 한번 번역한 후에는 이미 모든 소스 코드가 기계어로 변환되어 있기 때문에 빠르게 실행 가능하다.
  • C, C++ 등

인터프리터 언어

인터프리터 언어는 프로그래머가 작성한 코드를 한줄 단위로 번역하고 동시에 명령어를 실행하는 언어이다.

  • 빌드 시간이 없기 때문에 번역 속도는 빠르지만 런타임 상황에서 한 줄씩 읽어 실행하므로 컴파일 언어에 비해 속도가 느리다.
  • 코드 변경시 빌드 과정없이 바로 실행 가능하다.
  • Python, Ruby 등

좋은 웹페이지 즐겨찾기