да, спасибо большое! А как можно указать, что объект может содержать сколько угодно полей с разными ключами(заранее не извесными), но чтоб значения всегда были строковые?
Record<[key: string]: string>
Разве это валидный синтаксис?
[key: string], а не значит ли это что поля только ключом key смогут называться? Объясните пожалуйста логику этого момента
в целом, имена параметров/аргументов не имеют значения. Если задать тип функции или интерфейса, т.е. кучи функций. Везде у функции надо указывать имя аргумента. Но у реальной функции оно может быть любое. Вот, например, функция типа как в node.js (что в голову пришло) readFile( name: string, callback: (error: Error | null, content: string) => void ) аргументы name и callback такими и будут*, потому что тут типы прямо "встроены" в функцию. А вот реальные аргументы для callback можно назвать как хочешь, потому что тут только тип объявлен * кроме случая, если это overload
Обсуждают сегодня