Type Annotation
let a = 'mark'
a = 30
let a: **string** = 'mark' // Type Annotation
a = 39 // 컴파일 오류
- TS에선 type annotation을 통해서 특정 변수에는 어떤 타입의 데이터가 대입 돼야만 하는지 미리 설정한다.
타입의 별칭(Alias)
let person: string | number = 0 // union 타입
**type** StringOrNumber = string | number // union 타입을 하나의 단어로 별칭 짓기
let another: StringOrNumber = 0
another = 'hi'
- 타입의 이름을 내 마음대로 새롭게 지정할 수 있다.
원시 타입 vs 래퍼 객체 타입
// 원시 타입
true
'hi'
3.14
null
undefined
// Wrapper 객체 타입
new Boolean(false)
new String('hi')
new Number(42)
- Wrapper 객체 타입은 대문자로 시작한다.
- TS에선 Wrapper 객체 타입을 권장하지 않는다.
boolean
let isDone: boolean = false
let isNotOk: boolean = new Boolean(true) // 원시 타입과 래퍼 객체 타입은 호환 X
number
let decimal: number = 6
let underscoreNum: number = 1_000_000