# Indexable Types
# string or number
interface StringArray {
[index: number]: string
}
const sa: StringArray = {} // optional
sa[100] = '백'
interface StringDictionary {
[index: string]: string
}
const sd: StringDictionary = {} // optional
sd.hundred = '백'
interface StringArrayDictionary {
[index: number]: string
[index: string]: string
}
const sad: StringArrayDictionary = {}
// optional of course
sad[100] = '백'
sad.hundred = '백'
# string index = optional property
interface StringDictionary {
[index: string]: string
name: string
}
const sd: StringDictionary {
name: '준혁' // 필수
}
sd.any = 'any' // 어떠한 property도 가능
/* -------------------------------------------- */
interface StringDictionaryNo {
[index: string]: string;
// name: number // (X) 인덱서블 타입이 string 값을 가지기 때문에 number를 필수로 끌어요면 에러
}