banner
SlhwSR

SlhwSR

热爱技术的一名全栈开发者
github
bilibili

ts typeof推斷隱式類型及應用場景

應用場景一#

假設某函數獲取 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 類型即可。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。