@andreysuha
Что то знаю

Как задать типы для динамических свойств объекта?

Всем привет!

Есть такая функция

render(element: string, args: RenderArgs = {}, pos: Pos = Pos.end): void {
        for (let key in args) {
            element = element.replace(new RegExp(`{{${key}}}`), args[key]);
        }
        this.mountElement.insertAdjacentHTML(pos, element);
    }


пытаюсь задать args такой тип

export type RenderArgs = { [ key: string ]: number | string }


т.е. args объект свойствами которого могуть быть только числа или строки

но получаю такую ошибку

ZyeW3jc.png

Как решить это?

P.s. не кидайте камнями, пожалуйста, это первый опыт с typescript, если я что-то не так понял то укажите что мне нужно подчитать
  • Вопрос задан
  • 17 просмотров
Решения вопроса 1
@andreysuha Автор вопроса
Что то знаю
Проблема была в этой строке

element = element.replace(new RegExp(`{{${key}}}`), args[key]);


replace ожидает вторым параметром строку, f args[key] может быть либо string либо number Решение приводить args[key] к строке
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
PolarBearGG
@PolarBearGG
I know that I know nothing
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы