为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第19天 Typescript void、undefined 与 never 类型

标签:
Typescript

课程章节: 第3章 TypeScript 基础 3-8 void、undefined 与 Never

主讲老师阿莱克斯刘

课程内容:
今天学习的内容是 Typescript 的几个特殊的类型,分别是 voidundefinedNever

void

void 表示空类型,只用在函数返回值的类型中。当函数没有返回值时,其类型为 void

function log(message:string) {  
 console.log(message);  
}

log 函数只打印内容,不返回任何内容,所以它的返回值的类型为 void。TS 的类型推断可以正确推断出:

image-20220910234536146

也可以显式写明返回的类型:

function log(message:string) :void {  
 console.log(message);  
}

undefined

undefined 是原生 JS 中的一个类型,它的特殊之处就是它既是一个值,又是一个类型:

let a = undefined;

变量 a 的值是 undefined,类型也是 undefined

按照以前学习的函数的知识,函数没有返回值的时候,默认的返回值为 undefined

那么为什么上面的 log 函数的返回值类型为 void 而不是 undefined 呢?

因为 void 表示的意思是空,即物理意义上的不存在,就没这个东西。而 undefined 表示的物理上存在,但存在的这个东西没有内容。所以 log 函数没有显式返回任何内容,也就是符合 void,压根不存在。

function log(message:string) :undefined {  
 console.log(message);  
 return  
}

never

先看一个例子,throwType 函数会抛出一个异常:

function throwType (code: number, message: string) {  
 throw {  
 code,  
 message  
 }   
}throwError(404, 'Not Found')

图片描述

该函数执行,就会抛出异常,函数不能正常执行完,此时函数的返回值类型就是 never,表示永远没有结果。

课程收获
这节课学习了 Typescript 的几个特殊的类型,voidundefinednever,它们主要应用在几个特定的场景,比较容易区分。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消