function fn(obj: Record<string, any>) {
return obj
}
const obj = { a: 1, b: 2, c: 3 }
// obj1's type: const obj1: Record<string, any>
const obj1 = fn(obj)
Как видите, у меня есть объект определенной формы в качестве аргумента для функции, и функция возвращает тот же объект формы. Я хочу получить возврат с наиболее подробной формой (в моем примере это {a:number; b:number; c:number}
), а не с обычно используемым типом.
Это просто:
function fn<T>(obj: T) {
return obj
}
const obj = { a: 1, b: 2, c: 3 }
// obj1's type: const obj1: {
// a: number;
// b: number;
// c: number;
// }
const obj1 = fn(obj)
Спасибо за ваш ответ. Это полезно.
Использовать универсальный? Это буквально первый описанный вариант использования.