Мне нужно создать интерфейс в TS как часть моего dto, который имеет следующие свойства.
interface IFace {
something.else.more: string;
something.else.thing: string;
another.thing.here: number;
}
Но я получаю некоторые ошибки. Итак, вот что я сделал:
interface IFace {
"something.else.more": string;
"something.else.thing": string;
"another.thing.here": number;
}
Меня интересует правильно ли я пишу. А если нет, то как это dto написать?
Зачем использовать точку в именах? Это больше обременяет клиентский код (face["a.b.c"]) и сбивает с толку (face.a возможно?).



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В JavaScript требуется, чтобы любые ключи объектов или имена переменных, которые не содержат набор символов по умолчанию (алфавит и цифры, $ и _), должны быть преобразованы в строку.
Так что да, это правильный путь:
interface IFace {
"something.else.more": string;
"something.else.thing": string;
"another.thing.here": number;
}
Да, это правильный способ сделать это