Уточнение типа машинописного текста, неизвестное объекту и получение элементов - PullRequest
1 голос
/ 20 июня 2020

Рассмотрим, что у меня есть загруженный объект данных json. Тип json определяется следующим образом:

const myObject: {[p: string]: unknown} = JSON.parse(somestring);

I wi sh для обработки этого json, как если бы это было дерево словарей. Теперь я пытаюсь прочитать какой-нибудь дочерний объект и перебрать его:

const cfgCookie = cfg.cookie;
if (typeof cfgCookie === "object" && cfgCookie !== null && !Array.isArray(cfgCookie)) {
    const someElement = cfgCookie.maxAge;
}

Однако теперь машинописный текст жалуется, что свойство maxAge не существует для объекта. Чего и следовало ожидать. Поэтому я пытаюсь получить его динамически, как если бы это был словарь:

    const someElement = cfgCookie['maxAge'];

Это дает следующую ошибку:

TS7053: Element implicitly has an 'any' type because expression of type '"maxAge"' can't be used to index type '{}'.   Property 'maxAge' does not exist on type '{}'.

Итак, как бы мне уточнить неизвестное до индексируемого объект?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...