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})而不是常用型別。
uj5u.com熱心網友回復:
這很簡單:
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)
https://www.typescriptlang.org/play?ssl=9&ssc=18&pln=10&pc=18#code/GYVwdgxgLglg9mABMMAeAKgPgBRwEYBWAXIugJSIDeAUIogE4CmUI9S B1AvtdRAgGcoiDogC8VRAEMSARgA0iPCQBMiiCQDMiHtQD0ekYVkByAYigBPAA6MS-MEKMFZJGgbqeZiMCAC2eIz0ANz6hp5KJL4BQaEeERo -oEhYTp8gsIcsuLIYLiEZEA
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445938.html
標籤:打字稿
上一篇:Angular材質匯入模塊
下一篇:如何從介面陣列推斷型別
