亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

TS 類型兼容教程示例詳解

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

類型兼容

因為JS語言不慎過于領(lǐng)過, 真實開發(fā)場景中往往無法做到嚴(yán)格一致的類型約束,此時TS就不得不做類型兼容

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

簡單類型兼容

子集可以賦值給父級

type name = string | number

stringnumber 都是 類型name 的子集

普通對象兼容

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

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

函數(shù)兼容

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

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

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

參數(shù)類型不一致

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

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

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

MyEventMyMouseEvent 的父類,所以listener 兼容 mouseListener

返回不同

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

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

相關(guān)文章

  • await 錯誤捕獲實現(xiàn)方式源碼解析

    await 錯誤捕獲實現(xiàn)方式源碼解析

    這篇文章主要為大家介紹了await 錯誤捕獲實現(xiàn)方式源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • JavaScript函數(shù)式編程Thunk原理解析

    JavaScript函數(shù)式編程Thunk原理解析

    這篇文章主要為大家介紹了JavaScript函數(shù)式編程Thunk原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微信小程序 開發(fā)之全局配置

    微信小程序 開發(fā)之全局配置

    這篇文章主要介紹了微信小程序 開發(fā)之全局配置的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 微信小程序 選擇器(時間,日期,地區(qū))實例詳解

    微信小程序 選擇器(時間,日期,地區(qū))實例詳解

    這篇文章主要介紹了微信小程序 選擇器(時間,日期,地區(qū))實例詳解的相關(guān)資料,這里提供了實例代碼及實現(xiàn)效果圖,幫助大家學(xué)習(xí)理解這部分知識,需要的朋友可以參考下
    2016-11-11
  • 為什么我們要做三份 Webpack 配置文件

    為什么我們要做三份 Webpack 配置文件

    前端從開發(fā)到部署前都離不開 Webpack 的參與,本文結(jié)合了我們自己在開發(fā)中碰到的種種問題解決方案,同時借鑒了很多開源項目的配置來介紹一種用 3 個 JS 文件來配置 Webpack 的方法。
    2017-09-09
  • ESLint規(guī)范TypeScript代碼使用方法

    ESLint規(guī)范TypeScript代碼使用方法

    這篇文章主要為大家介紹了ESLint規(guī)范TypeScript代碼使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • JS前端實現(xiàn)fsm有限狀態(tài)機實例詳解

    JS前端實現(xiàn)fsm有限狀態(tài)機實例詳解

    這篇文章主要為大家介紹了JS前端實現(xiàn)fsm有限狀態(tài)機實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 微信小程序 實現(xiàn)拖拽事件監(jiān)聽實例詳解

    微信小程序 實現(xiàn)拖拽事件監(jiān)聽實例詳解

    這篇文章主要介紹了微信小程序 實現(xiàn)拖拽事件監(jiān)聽實例詳解的相關(guān)資料,在開發(fā)不少應(yīng)用或者軟件都要用到這樣的方法,這里就對微信小程序?qū)崿F(xiàn)該功能進(jìn)行介紹,需要的朋友可以參考下
    2016-11-11
  • Promise靜態(tài)四兄弟實現(xiàn)示例詳解

    Promise靜態(tài)四兄弟實現(xiàn)示例詳解

    這篇文章主要為大家介紹了Promise靜態(tài)四兄弟實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • umi插件開發(fā)仿dumi項目實現(xiàn)基礎(chǔ)路由解析

    umi插件開發(fā)仿dumi項目實現(xiàn)基礎(chǔ)路由解析

    這篇文章主要為大家介紹了umi插件開發(fā)仿dumi項目實現(xiàn)基礎(chǔ)路由解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01

最新評論