不能把联合类型赋作为接口的 key 的类型,但是可以作为 type 的 key 的类型

    1. type Vowels = {
    2. [key in 'a' | 'e' | 'i' | 'o' | 'u']: boolean
    3. }
    4. const vowels: Vowels = {
    5. a: true,
    6. e: true,
    7. i: true,
    8. o: true,
    9. u: true
    10. }
    1. type Vowels = {
    2. [key in 'a' | 'e' | 'i' | 'o' | 'u']: boolean
    3. }
    4. const vowels: Vowels = {
    5. a: true,
    6. e: true,
    7. i: true,
    8. o: true,
    9. u: true,
    10. }
    11. const a: 'a' = 'a';
    12. vowels[a]