C/C++教程

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

本文主要是介绍【九月打卡】第19天 Typescript void、undefined 与 never 类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程名称:2小时极速入门 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,它们主要应用在几个特定的场景,比较容易区分。

这篇关于【九月打卡】第19天 Typescript void、undefined 与 never 类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!