-
Typescript : 1. Typescript란, 개발환경 구축Front-end/TypeScript 2020. 5. 4. 19:18
TypeScript란?
자바스크립트와 호환되는 프로그래밍 언어, 구체적으로 말하면 자바스크립트의 SuperSet으로 JS를 포함하는 프로그래밍 언어
그러나 JS는 interpreted language이지만, TS는 Transpiled language이다.
즉, 자바스크립트와는 다르게 컴파일러가 필요하고 컴파일된 결과물을 실행한다는 차이점이 있다.
컴파일 과정에서 ‘타입’을 체크하는 것이 중요하기 때문에 이름 자체도 ‘타입’스크립트다.
그러나 기존 Compiled 언어들과는 다르게 어떤 프로그램을 기술하면 다른 언어로 변환되어 프로세스를 진행한다는 것도 특징이다.
source code를 object code로 변환하는 과정을 컴파일이라 하고 컴파일하는 프로그램을 컴파일러라고 함
정적 타입 언어 vs. 동적 타입 언어
- 정적 타입 언어 : 타입을 미리 지정하고 지정된 타입대로 코드를 기술하는 언어
- 동적 타입 어어 : 타입을 지정할 필요없이 코드를 기술하는 언어, 예를 들어 JS에서 변수를 선언할 때 int 가 아니라 let, const를 사용
동적 타입 언어가 편리한 점은 분명 있으나 이 편리한 점 때문에 오류가 발생할 가능성이 커진다. 코드가 길어지면 오류를 잡아내는 것이 어렵기 때문에 정적 타입 언어의 장점만 가져와서 사용하자는 아이디어에서 착안한 것이 타입스크립트!
인프런 타입스크립트 코리아 : 기초 세미나를 듣고 작성하는 포스팅입니다.
# 개발 환경 구축
- Node.js 설치
- TypeScript compiler 설치
// 글로벌 설치 $ npm install -g typescript // 프로젝트 내 설치 $ npm install typescript
$ npm init -y
- init 후 생긴 package.json 파일을 수정하여 좀 더 간편하게 컴파일을 하도록 한다.
간단한 타입스크립트 코드를 작성한다.
타입스크립트의 파일 확장자명은 ts이다.
// test.ts class Test { constructor() { console.log('test!'); } } new Test();
작성한 파일을 컴파일한다.
$ tsc test.ts // 글로벌 설치 $ npm transpile test.ts // 프로젝트 내 설치
컴파일했을 때 에러메시지가 없다면 컴파일하는 데 문제가 없었다는 뜻이다.
디렉토리를 확인해보면 같은 이름의 js파일이 생성된다.
var Test = /** @class */ (function () { function Test() { console.log('test!'); } return Test; }()); new Test();
컴파일 할 때 여러 옵션이 존재할 수 있다. 예를 들어 타입스크립트 코드를 어떤 버전의 자바스크립트로 변환할지 또는 어떤 폴더에 자바스크립트 파일을 생성할지 등이 설정하고 싶을 때 사용하는 것이 Compiler Option이다.
$ tsc --init // message TS6071: Successfully created a tsconfig.json file.
tsconfig.json이라는 파일이 생긴 것을 확인할 수 있다.