最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ts中的void和never類型及區(qū)別

 更新時間:2023年05月05日 09:23:40   作者:夏目友人喵  
void類型和never類型都是ts新增的類型,這兩者的共同點是都常見用于聲明函數(shù)的返回值的類型,這里我們把它們兩放在一起介紹有助于大家區(qū)分,這篇文章主要介紹了ts中的void和never類型及區(qū)別,需要的朋友可以參考下

ts中的void和never類型

void

  表示沒有任何類型

// 沒有返回值的函數(shù),其返回值類型為 void
function warnUser(): void {
    console.log("void");
}
// 申明為 void 類型的變量,只能賦予 undefined 和 null
let unusable: void = undefined;

可以用到void 有以下幾種情況

  • 函數(shù)沒寫return
  • 只寫了 return, 沒有具體的返回值
  • return 的是 undefined
// 如果什么都不寫,此時,add 函數(shù)的返回值類型為: void
const add = () => {
     //
}
// 如果return之后什么都不寫,此時,add 函數(shù)的返回值類型為: void
const add = () => { 
     return 
}
const add = (): void => {
  // 此處,返回的 undefined 是 JS 中的一個值
  return undefined
}
// 這種寫法是明確指定函數(shù)返回值類型為 void,與上面不指定返回值類型相同
const add = (): void => {
    // 
}

never

  表示永遠不會有值的一種類型,任何類型都不能賦值給 never 類型的變量

  應(yīng)用場景???(暫時沒找到)

// 返回never的函數(shù)必須存在無法達到的終點
function infiniteLoop(): never {
    while (true) {
    }
}
// 這個函數(shù)不能申明其返回值類型
function warnUser(): void {
    console.log("void");
}
function add (a?: number, b: number = 1) {
  // ?跟在參數(shù)名字的后面,表示可選的參數(shù)
  // 注意:可選參數(shù)只能在 必須參數(shù)的后面
  // 如果可選參數(shù)在必選參數(shù)的前面,會報錯
  // 設(shè)置了默認值之后,就是可選的了,不寫就會使用默認值; 可選的參數(shù)一定有值。它們不能一起使用。優(yōu)先使用默認值
  console.log(111);
}

補充:void類型和never類型

void類型和never類型都是ts新增的類型,這兩者的共同點是都常見用于聲明函數(shù)的返回值的類型,這里我們把它們兩放在一起介紹有助于大家區(qū)分。 void,表示函數(shù)返回值空,即undefined。 never類型則是表示函數(shù)沒有返回值,也絕不會(never)有返回值的情況發(fā)生。

void類型

可以使用變量聲明方法去聲明void類型,除了underfined之外不能對void類型變量賦值(null也不行),所以平時聲明一個void類型的變量沒有什么大用,我們一般也只有在函數(shù)沒有返回值時去聲明。

function fn():void{
    return underfined
}

需要注意的是 return null 不能使用于void類型的函數(shù),所以這里我來科普下nullunderfined的區(qū)別和聯(lián)系。

null和underfined相同點: 兩者都是js的基本數(shù)據(jù)類型,都表示“無,沒有” 在if 或者 == 隱式類型轉(zhuǎn)化中,null和underfined是相同的,都表示false

null和underfined不同點:
null表示"沒有對象",即該處不應(yīng)該有值。典型用法是:
(1)作為函數(shù)的參數(shù),來表示該函數(shù)的參數(shù)不是對象
(2)作為對象原型鏈的終點
undefined表示"缺少值",就是此處應(yīng)該有一個值,但是還沒有定義。典型用法是:
(1)變量被聲明了,但沒有賦值時,就等于undefined。
(2)對象沒有賦值的屬性,該屬性的值為undefined。
(3)函數(shù)沒有返回值時,默認返回undefined。
(4)調(diào)用函數(shù)時,應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于undefined。

never類型

never類型,也是用于函數(shù)的返回值,表示函數(shù)永遠不會返回結(jié)果,js中有函數(shù)不返回結(jié)果的情況,一般不寫return 就返回 undefined,但是這個never是什么都不返回。
比如js 的拋出錯誤異常函數(shù),就不會返回任何結(jié)果:

function err(mag:string):never{
    throw new Error(msg);  
}

到此這篇關(guān)于ts中的void和never類型的文章就介紹到這了,更多相關(guān)ts void和never內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺析微信掃碼登錄原理(小結(jié))

    淺析微信掃碼登錄原理(小結(jié))

    這篇文章主要介紹了淺析微信掃碼登錄原理(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • javascript 實現(xiàn)map集合

    javascript 實現(xiàn)map集合

    本文給大家分享的是個人項目中需要的一個小功能,當時經(jīng)過一番度娘才實現(xiàn),現(xiàn)在從項目中拿出來,分享給大家,需要的小伙伴快來參考下吧。
    2015-04-04
  • 認識Knockout及如何使用Knockout綁定上下文

    認識Knockout及如何使用Knockout綁定上下文

    Knockout簡稱ko,是一個輕量級的javascript類庫,采用MVVM設(shè)計模式(即Model、view、viewModel),簡單優(yōu)雅的實現(xiàn)了雙向綁定,實時更新,幫助您使用干凈的數(shù)據(jù)模型來創(chuàng)建豐富的、響應(yīng)式的用戶界面
    2015-12-12
  • js實現(xiàn)分享到隨頁面滾動而滑動效果的方法

    js實現(xiàn)分享到隨頁面滾動而滑動效果的方法

    這篇文章主要介紹了js實現(xiàn)分享到隨頁面滾動而滑動效果的方法,實例分析了javascript操作頁面元素滾動效果的方法,需要的朋友可以參考下
    2015-04-04
  • Bootstrap每天必學之柵格系統(tǒng)(布局)

    Bootstrap每天必學之柵格系統(tǒng)(布局)

    Bootstrap每天必學之柵格系統(tǒng),小編對Bootstrap柵格系統(tǒng)(布局)也很陌生,特分享整理這篇文章,感興趣的小伙伴們可以參考一下
    2015-11-11
  • JavaScript?中的作用域與閉包

    JavaScript?中的作用域與閉包

    這篇文章主要介紹了JavaScript中的作用域與閉包,JavaScript是一種具有函數(shù)優(yōu)先的輕量級,解釋型或即時編譯型的編程語言,下文是更多相關(guān)介紹需要的小伙伴可以參考一下
    2022-05-05
  • D3.js實現(xiàn)繪制柱狀圖的教程詳解

    D3.js實現(xiàn)繪制柱狀圖的教程詳解

    這篇文章主要為大家詳細介紹了如何通過D3.js實現(xiàn)繪制柱狀圖,文中的示例代碼講解詳細,對我們學習D3.js有一定的幫助,需要的可以參考一下
    2022-11-11
  • JavaScript中數(shù)組sort()方法的基本使用與踩坑記錄

    JavaScript中數(shù)組sort()方法的基本使用與踩坑記錄

    : js中用方法sort()為數(shù)組排序,這篇文章主要給大家介紹了關(guān)于JavaScript中數(shù)組sort()方法的基本使用,sort()方法已經(jīng)可以滿足我們對數(shù)組的很多處理需求,需要的朋友可以參考下
    2021-06-06
  • js驗證身份證號碼記錄的方法

    js驗證身份證號碼記錄的方法

    在一些需要填寫身份證的表單網(wǎng)頁中,需要對身份證的輸入做一個驗證,于是,我記錄下了自己寫的驗證。這篇文章主要介紹了js驗證身份證號碼記錄的方法,需要的朋友可以參考下
    2019-04-04
  • JavaScript基于對象去除數(shù)組重復項的方法

    JavaScript基于對象去除數(shù)組重復項的方法

    這篇文章主要介紹了JavaScript基于對象去除數(shù)組重復項的方法,結(jié)合實例形式分析了javascript數(shù)組去重的操作步驟與具體實現(xiàn)技巧,需要的朋友可以參考下
    2016-10-10

最新評論

婺源县| 千阳县| 乌兰察布市| 河曲县| 当阳市| 南昌县| 黑河市| 昆明市| 平阳县| 共和县| 信宜市| 通榆县| 沈丘县| 响水县| 胶南市| 潼关县| 浮梁县| 西林县| 女性| 内乡县| 棋牌| 霍林郭勒市| 田东县| 报价| 平泉县| 溧水县| 重庆市| 娱乐| 大邑县| 昌吉市| 贵南县| 梅州市| 平顶山市| 宁蒗| 遵义县| 锡林浩特市| 铜陵市| 黄大仙区| 元谋县| 新乡县| 永登县|