Tuples
- 튜플. 고정된 길이와 타입의 위치를 가지는 배열
let rgbColors: [number, number, number] = [255, 255, 255]
rgbColors = [123, 5] // ERROR - rgbColors length is 3
rgbColors = [255, 0, '255'] // ERROR - third type of rgbColors is number
type HttpResponse = [number, string]
let goodRes: HttpResponse = [200, 'SUCCESS']
goodRes = ['FAIL', 404] // ERROR - tuple type is [number, string]
let responses: HttpResponse[] = [[400, 'FAIL'], [403, 'ERROR']]
Enums
- 명명된 상수 집합 / 반복적으로 참조하는 값들의 집합
- ex ) 방향키(UP, RIGHT, DOWN, LEFT) / 주문 상태 (PENDING, SHIPPED, DELIVERED ...)
- enum에 선언된 상수들을 특별히 초기화하지 않는 경우 자동으로 초기화
enum OrderStatus {
PENDING, // PENDING = 0
SHIPPED, // SHIPPED = 1
DELIVERED, // DELIVERED = 2
RETURNED // RETURNED = 3
}
function isDelivered (status: OrderStatus) {
return status === OrderStatus.DELIVERED
}
isDelivered(OrderStatus.DELIVERED) // OK
isDelivered(2) // OK
isDelivered('DELIVERED') // ERROR
- Enum의 초기화
- number / string 모두 가능
enum ArrowKeys {
UP = 'up'
DOWN = 'down'
RIGHT = 'right'
LEFT = 'left'
}
enum Temp {
BLACK = 255
RED = 120
ERROR = 'error'
}