[TS] 타입스크립트란

누리·2023년 2월 15일
0

TypeScript

목록 보기
1/2

타입스크립트란?

타입스크립트는 자바스크립트의 슈퍼셋인 오픈소스 프로그래밍 언어이다. 마이크로소프트에서 개발, 유지하고 있으며 엄격한 문법을 지원한다. C#의 리드 아키텍트이자 델파이, 터보 파스칼의 창시자인 Anders Hejlsberg가 개발에 참여한다. 클라이언트 사이드와 서버 사이드를 위한 개발에 사용할 수 있다. 타입스크립트는 자바스크립트 엔진을 사용하면서 커다란 애플리케이션을 개발할 수 있게 설계된 언어이다.자바스크립트의 슈퍼셋이기 때문에 자바스크립트로 작성된 프로그램이 타입스크립트 프로그램으로도 동작한다. 타입스크립트에서 자신이 원하는 타입을 정의하고 프로그래밍을 하면 자바스크립트로 컴파일되어 실행할 수 있다. 타입스크립트는 모든 운영 체제, 모든 브라우저, 모든 호스트에서 사용 가능한 오픈 소스이다.
- 위키 백과 -

자바스크립트를 기반으로한 프로그래밍 언어이다. 자바스크립트 문법에서 크게 벗어나진 않지만 가장 큰 차이로는 strongly-typed 언어라는 점이다.
strongly-typed란? 프로그래밍 언어가 작동하기 전에 먼저 type을 확인한다.

타입스크립트를 써야하는 이유

1. 에러 예방

타입스크립트는 타입을 부여하기 때문에 코드 작성 시에 알맞지 않은 타입을 넣거나, 혹은 타입을 넣지 않았을 경우 사전에 IDE에서 오류라고 경고를 준다.
자바스크립트는 입력값을 그저 출력하기만 하지만, 타입스크립트는 잘못된 문법을 미리 알려주고 도와준다.

const plus = (a:number, b:number) => a + b;

plus(1,1);
plus("a",1); //타입스크립트는 틀린것을 알려준다

사전에 오류를 디버깅 할 수 있고 이것은 나중에 디버깅하는 시간을 줄여줘 생산적인 측면에서 효과적이다.

2. 실행 속도

자바스크립트는 동적 타입의 인터프리티 언어이다. 이것은 런타임(실행) 시에 타입을 결정해서 적용된다는 뜻인데, 이것은 '컴퓨터'에게 오류가 있는지 없는지 체크하라고 일을 맡겨버린 것과 같기 때문에 실행 속도가 당연히 오래 걸리는데 반해 타입스크립트는 '사람'이 코드 작성 시에 오류를 체크하고, 타입을 미리 결정하기 때문에 기계가 할 일을 덜어 실행 속도가 매우 빠르다는 장점이 있다.

3. 안정성 & 협업용이성

자바스크립트에서 같이 협업하는 사람이나 혹은 다른 사람이 변수명이나 코드를 읽을 경우 타입이 어떤 것인지 짐작하기가 어렵다. 이 문제뿐만 아니라 자바스크립트는 실행 중에 버그를 찾기 때문에 테스트 때 미처 발견하지 못한 에러가 운영 중에 발견될 수도 있다.
타입스크립트는 타입을 명시할 수 있고 컴파일 시 오류를 찾기 때문에 보다 더 안정적이다라고 말할 수 있다.

4. 슈퍼셋

타입스크립트는 자바스크립트의 슈퍼셋으로 자바크립트의 + 알파 라는 뜻이다. 자바스크립트와는 100% 호환이 되는건 물론이며, 이 외에 클래스,인터페이스 등 객체지향 프로그래밍 패턴을 제공한다.

profile
프론트엔드 개발자

0개의 댓글