應用場景一#
假設某函數獲取 obj 和 key 兩個參數
function getObj(obj:object,key:string){
return obj[key]
}
存在的問題 key 不一定屬於 obj 上的索引,因此存在風險。
因此需要將 key 斷言為 obj 上類型,寫法如下。
function getObj(obj:object,key:string){
return obj[key as keyof typeof obj]
}
當然,你也可以這樣
function getObj<T>(obj:object,key:keyof T):T[keyof T]{
return obj[key]
}
應用場景二#
假設後段傳遞一段約束用來定義全局用戶信息
const getInfo=async()=>{
const res= await fetch("/auth/all")
const value=await res.json()
type C= Partial<typeof value[0]>
}
操縱 C 類型即可。