TS object 類型 和 {[key:string]: unknown} 定義類型的區別


// Object 跟我們在JS中想象的對象是有一定差別的
// Object類型 可以是 對象  函數 正則
let a: Object
a = {name: 'hky'}
a = () => {}
a = new RegExp('')

 

let b:{[key:string]: unknown}
b = {name: 'lwx'}
b = () => {} // 不能將類型“() => void”分配給類型“{ [key: string]: unknown; }”。類型“() => void”中缺少索引簽名。
// 可以看出 限制了 函數類型
 
// {[key:string]: unknown} 表示要的是鍵值對的  對象  例如    { name: 'hky' }  限制不允許傳入函數類型
// 而 Object 類型沒有此方面的限制  
 
//  注意!!
//  不知道類型的情況下盡量不要寫any  實在不知道類型 可以使用unknown

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM