Дмитрий Беляев, Да, это выход конечно, равно как добавить в тип сигнатуру [key: string]: number
Но я тогда напрочь не пойму ценность тайпскрипта, если мне приходится подставлять какие-то костыли только для того, чтобы накормить тайпскрипт, а не для того, чтобы извлечь пользу от его использования.
Спасибо за ваш ответ, но...
Первый вариант предполагает опциональное свойство, которого там не должно быть даже опционально, не предусмотрено типом и не хотелось бы, чтобы оно предусматривалось.
Два других варианта построены на проверке строгого равенства переменной p строке 'srn'. Однако, пример этот тестовый и очень обощенный. Таких свойств, как 'srn' может быть и 5 и 10 и более, равно как и массив ['srn', 'qre'] может быть гораздо более длинным. Как быть тогда? Сравнивать переменную с каждым строковым значением?
Вот мне и не понятно, почему для тайпскрипта не очевидно, что это может быть произвольное поле, если я проверяю наличие этого поля.
Record - конечно выход. Но! Мне не нужно, чтобы в переменной test могли быть объявлены дополнительные, не указанные в типе, свойства.
Добрый вечер. А нельзя ли это выразить формулой? А то я в математике не настолько силен. Мне нужно будет перевести это в код, чтобы использовать в приложении.
Спасибо.
[key: string]: number
Но я тогда напрочь не пойму ценность тайпскрипта, если мне приходится подставлять какие-то костыли только для того, чтобы накормить тайпскрипт, а не для того, чтобы извлечь пользу от его использования.