Skip to content

Commit 12b392e

Browse files
authored
Add Typescript 1. Typescript란
1 parent 8afceb7 commit 12b392e

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# TypeScript
2+
3+
## Compiler
4+
5+
1. 개발자가 다수의 텍스트 파일을 작성
6+
2. 컴파일러가 **파싱**하여 **추상 문법 트리**(AST, abstract syntax tree) 자료구조로 변환
7+
3. AST를 바이트코드(bytecode)로 변환
8+
4. Runtime이 바이트코드를 평가
9+
10+
타입스크립트의 컴파일러는 코드를 바이트코드 대신 자바스크립트 코드로 변환한다. 이후로는 일반적인 자바스크립트 코드를 실행하는 것과 마찬가지로 브라우저, Node.js 등으로 실행한다.
11+
12+
타입스크립트 컴파일러는 AST를 만들어 결과 코드를 내놓기 전에 타입 확인을 거친다.
13+
14+
> TS
15+
>
16+
> 1. 타입스크립트 소스 => 타입스크립트 AST
17+
> 2. 타입검사기가 AST를 확인
18+
> 3. 타입스크립트 AST => 자바스크립트 소스
19+
>
20+
> JS
21+
>
22+
> 4. 자바 스크립트 소스 => 자바스크립트 AST
23+
> 5. AST => 바이트코드
24+
> 6. 런타임이 바이트코드를 평가
25+
26+
### 타입스크립트 vs. 자바스크립트
27+
28+
| 타입 시스템 기능 | 자바스크립트 | 타입스크립트 |
29+
| --------------------------- | --------------- | -------------------- |
30+
| 타입 결정 방식 | 동적 | 정적 |
31+
| 타입이 자동으로 변환되는가? | O | X (대부분) |
32+
| 언제 타입을 확인하는가? | 런타임 | 컴파일 타임 |
33+
| 언제 에러를 검출하는가? | 런타임 (대부분) | 컴파일 타임 (대부분) |
34+
35+
## 코드 편집기
36+
37+
### tsconfig.json
38+
39+
모튼 타입스크립트 프로젝트는 루트 디렉터리에 tsconfig.json 파일이 존재한다. 어떤 파일을 컴파일하고, 어떤 자바스크립트 버전으로 방출하는지 등을 정의한다.
40+
41+
### tslint.json
42+
43+
TSLint 설정 (탭 사용, 공백 사용 등 결정하는 코딩 스타일 규약)을 정의한다.
44+

0 commit comments

Comments
 (0)