Skip to content

Commit db3236d

Browse files
authored
Add TypeScript - 타입스크립트 타입
1 parent fff3592 commit db3236d

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

Language/[TypeScript] 2. 타입.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# [TypeScript] 타입
2+
3+
타입스크립트가 지원하는 각각의 타입을 알아본다. 각 타입이 무엇을 포함할 수 있는지, 어떤 동작을 수행할 수 있는지 알 수 있다.
4+
5+
## 타입스크립트 타입 계층
6+
7+
<img src="https://media.vlpt.us/images/winbigcoms/post/cbaf6cf0-a5cf-4254-907c-41ec7cbac718/image.png">
8+
9+
## 타입
10+
11+
### any
12+
13+
any를 사용했을 때 예외를 발생시키고 싶다면 tsconfig.json 파일에서 **noImplicitAny** = true로 변경한다.
14+
15+
### unknown
16+
17+
```typescript
18+
let a: unknown = 30 // unknown
19+
let b = a === 123 // boolean
20+
let c = a + 10 // 에러 TS2571: 객체의 타입이 'unknown'
21+
if (typeof a === 'number') {
22+
let d = a + 10 // number
23+
}
24+
```
25+
26+
### boolean
27+
28+
### number
29+
30+
### bigint
31+
32+
### string
33+
34+
### symbol
35+
36+
실무에서 자주 사용하지 않는 편이며 객체와 맵에서 문자열 키를 대신하는 용도로 사용한다.
37+
38+
### object
39+
40+
### Array
41+
42+
타입스크립트는 T[] 혹은 Array<T> 두가지 문법을 지원한다.
43+
44+
### Tuple
45+
46+
```typescript
47+
let friends: [numbre, string, ...string[]] = [1, 'A', 'B', 'C', 'D']
48+
```
49+
50+
### null, undefined, void, never
51+
52+
void는 명시적으로 아무것도 반환하지 않는 함수의 반환 타입을 가리키며 never는 절대 반환하지 않는 (예외를 던지거나 영원히 실행되는) 함수를 가리킨다. unknown이 모든 타입의 상위 타입이라면 never은 모든 타입의 서브타입이다.
53+
54+
### enum
55+
56+
## 그 외 타입
57+
58+
### 타입 별칭
59+
60+
```typescript
61+
type Age = number
62+
type Person = {
63+
name: 'soo-ni',
64+
age: Age
65+
}
66+
67+
let age: Age = 55
68+
let driver: Person = {
69+
name: 'soo-ni',
70+
age: age
71+
}
72+
```
73+
74+
### 유니온(|)과 인터섹션(&) 타입
75+
76+
```typescript
77+
type Cat = {}
78+
type Dog = {}
79+
type CatOrDog = Cat | Dog
80+
type CatAndDog = Cat & Dog
81+
```
82+
83+
84+
85+
### :books: 참고
86+
87+
타입스크립트 프로그래밍
88+
89+
90+

0 commit comments

Comments
 (0)