im пытается понять keyof.Typcript + keyof. Объявление преобразования объекта
Я хочу описать функцию, которая получает объект { a : 1, b : 'anything'}
и должна возвращать что-то вроде { a: true , b: false }
(те же ключи, но всегда логические значения).
Но когда я пишу (пример)
function fn<K>(obj:K) : { [param:keyof K] : boolean } { /* ... */ }
... TS говорит мне param
должен быть строкой или числом.
Это имеет смысл, поскольку K может быть картой. Как я мог избежать этой ошибки? Как я могу объявить, что K является простым JS-объектом (поэтому его ключи всегда являются строками)? K extends {}
не работает.