欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TS 類型兼容教程示例詳解

 更新時(shí)間:2022年09月20日 14:27:22   作者:dingsheng  
這篇文章主要為大家介紹了TS 類型兼容教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

類型兼容

因?yàn)镴S語(yǔ)言不慎過(guò)于領(lǐng)過(guò), 真實(shí)開發(fā)場(chǎng)景中往往無(wú)法做到嚴(yán)格一致的類型約束,此時(shí)TS就不得不做類型兼容

  • 頂類型:unknown -- 任何類型都可以賦值給unknown
  • 底類型:never -- never兼容任何類型(可以賦值給任何類型)
  • any: 其實(shí)不是一個(gè)類型,它是一個(gè)錯(cuò)誤關(guān)閉器,用了any就等同于放棄了類型約束

簡(jiǎn)單類型兼容

子集可以賦值給父級(jí)

type name = string | number

stringnumber 都是 類型name 的子集

普通對(duì)象兼容

屬性多的可以賦值給屬性少的,前提是有共同屬性

  • 屬性越多,限制越多,表示的集合越小(符合條件的對(duì)象越少)
  • 屬性越少,限制越少,表示的集合越大
type Person = {
  name: string
  age: number
}
let user = {
  name: 'liu',
  age: 20,
  email: ''
}
let p: Person = user

函數(shù)兼容

參數(shù)數(shù)量不一致

數(shù)量少的兼容數(shù)量多的,前提為類型一致

只要參數(shù)部分能夠找到對(duì)應(yīng)的位置就用**==綠色箭頭==,否則為==紅色箭頭==**,當(dāng)參數(shù)全為綠色箭頭時(shí),最左側(cè)的箭頭就為綠色,代表函數(shù)可以兼容

參數(shù)類型不一致

參數(shù)部分: 子類可以兼容父類,則函數(shù)整體不能兼容,

MyMouseEventMyEvent 的子類,所以mouseListener 不兼容 listener

==對(duì)參數(shù)要求多的函數(shù)不能賦值給對(duì)參數(shù)要求少的函數(shù)==

MyEventMyMouseEvent 的父類,所以listener 兼容 mouseListener

返回不同

返回值屬性多集合小 可以 兼容 返回值屬性少集合大

以上就是TS 類型兼容教程示例詳解的詳細(xì)內(nèi)容,更多關(guān)于TS 類型兼容的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論