아래와 같은 재귀적인 데이터 구조를 원했다.
const data = [
{ label: '기본', value: 'basic' },
{
label: '시간',
sub: [
{ label: '월별', value: 'month' },
{ label: '주별', value: 'week' },
{ label: '일별', value: 'day' },
],
},
{
label: '지역',
sub: [
{ label: '시별', value: 'si' },
{ label: '군/구별', value: 'gun-go' },
{ label: '동별', value: 'dong' },
],
},
{ label: '유형', value: 'kind' },
]
이러한 재귀적인 구조에는 아래와 같이 type을 선언해주면 된다.
type DataType = {
label: string
value?: string
sub?: Array<DataType>
}
type DataInterface = Array<DataType>
const data: DataInterface = [
{ label: '기본', value: 'basic' },
{
label: '시간',
sub: [
{ label: '월별', value: 'month' },
{ label: '주별', value: 'week' },
{ label: '일별', value: 'day' },
],
},
{
label: '지역',
sub: [
{ label: '시별', value: 'si' },
{ label: '군/구별', value: 'gun-go' },
{ label: '동별', value: 'dong' },
],
},
{ label: '유형', value: 'kind' },
]
'Language & Library > JS & TS' 카테고리의 다른 글
(TypeScript) 조금 더 우아하게 Union Literal Types 체크 방법 (4) | 2022.07.26 |
---|---|
[Deno Study 1] Getting Started (0) | 2021.01.25 |
[JavaScript] Vanilla JS로 React 만들기 (0) | 2020.09.09 |
[JavaScript] Vanilla JS로 상태 관리 모듈(redux) 만들기 (0) | 2020.09.04 |
[JavaScript] Safari에서 iPad 판단 하는 방법 (UserAgent, Navigator) (1) | 2020.08.21 |
댓글