继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

stb烙饼
关注TA
已关注
手记 84
粉丝 2
获赞 4

课程章节: 第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,它们主要应用在几个特定的场景,比较容易区分。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP