Как ввести хэш-таблицу, ключи которой могут быть только членами перечисления?

#enums #hashtable

#перечисления #хэш-таблица

Вопрос:

В Typescript я могу добавить тип для хэш-таблицы, foo ключи которой являются членами перечисления Flag с foo: { [key in Flag]: any} . Однако для этого требуется, чтобы foo содержал пару ключ-значение для каждого элемента Flag перечисления. Что, если я просто хочу, чтобы это было частичным — сказать, что ключи в foo могут быть только членами Flag , но я не ожидаю, что каждый член Flag ?

Ответ №1:

Добавьте знак вопроса, чтобы пометить ключи как необязательные:

foo: { [key in Flag]?: any}