위클리 패이퍼 (12)

깨진알·2024년 2월 11일

Weekly-Paper

목록 보기
10/14

12주차 위클리 페이퍼

Q1) JavaScript만 사용하는 것과 비교해 TypeScript를 사용하는 이유에 대해 설명해 주세요.

(1) 타입스크립트란?

타입스크립트는 2012년 마이크로소프트에서 자바스크립트 기반의 정적 타입 문법을 추가한 '프로그래밍 언어'이다. 타입스크립트는 개발자가 가장 좋아하고 관심을 가지고 있는 프로그래밍 순위 5위에 오르기도 했다. 타입스크립트는 자바스크립트의 슈퍼 셋, 즉 상위 확장자로 자바스크립트 엔진을 사용하며 자신이 원하는 변수의 타입을 정의하고 프로그래밍을 하면 자바스크립트로 컴파일되어 실행할 수 있다. 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 변환해 주어야 하는데 이러한 변환 과정을 컴파일이라고 부른다.

(2) 타입스크립트를 사용하는 이유

우선 타입스크립트를 사용하는 가장 큰 이유는 언어에서 알 수 있듯이 타입 때문이다. 타입이란, 한글로 자료형이라고 볼 수 있다. 어떠한 변수가 숫자인지, 문자인지 불린형인지에 관한 추상 형태를 의미힌다. 타입스크립트의 정적 타입 기반, 즉 컴파일을 하는 과정에서 타입을 결정하게 된다. 타입스크립트는 컴파일 과정에서 타입을 지정하기 때문에 컴파일 에러를 예방할 수 있을 뿐만 아니라, 손쉬운 디버깅이 가능해진다.

또한 타입스크립트는 높은 생산성을 제공한다. 자바스크립트로 코드를 작성할 때, 객체의 필드나 함수의 매개변수로 들어오는 값이 무엇인지 알기 위해 여러 파일을 살펴야 했지만 타입스크립트를 사용한다면 변수의 이름뿐만 아니라 그 데이터의 자료형까지 알 수 있게 된다.

Q2) TypeScript의 동작 원리에 대해 설명해 주세요.

작성한 타입스크립트 코드는 타입스크립트 컴파일러(tsc)를 통해 파싱하여 타입스크립트 AST 코드로 변환된다. AST는 Abstract Syntax tree의 약자로, 추상화 문법트리라는 의미를 갖는다. 프로그래밍 언어(고급언어)를 컴파일러를 통해 파싱하여서 AST의 구조형태의 코드로 만들어지게 된다. 그 이후 타입 검사기(Typechecker)를 통해 파싱된 타입스크립트 AST 코드의 타입을 체크하고, 타입스크립트 AST 코드를 자바스크립트 코드로 변환한다. 여기까지의 과정들은 타입스크립트 컴파일러(tsc)에 의해 수행된다. 이후로 자바스크립트 코드를 자바스크립트 AST 코드로 파싱하고 자바스크립트 AST를 바이트 코드로 변환한다. 이 때 런타임(runtime)이라는 실행환경에서 바이트 코드를 실행한다. 여기까지의 과정은 자바스크립트 런타인에 의해 수행된다.

profile
프론트엔드 지식으로 가득찰 때까지

0개의 댓글