在TypeScript中,never和void是两种特殊的类型,它们有各自独特的用途和含义。 void类型 void类型通常用于表示没有返回值的函数。在JavaScript中,如果一个函数没有明确的返回值,它实际上会返回undefined。在TypeScript中,我们可以使用void类型来表示这种情况。例如: functionlogMessage(message:string):void{console.log(messa...
void 类型变量只能赋值 undefined 和 null void 函数可以被调用并继续执行后续代码 通常用于表示函数的副作用 never 类型 定义 never表示永远不会返回的函数类型: 函数抛出异常 函数进入无限循环 类型保护中的永远不可能达到的分支 示例 // 抛出异常 function throwError(message: string): never { throw new Error(m...
在TypeScript 中,never和void都是用来表示函数的返回类型或表达式的类型,但有着不同的含义。 void表示函数没有返回值,也可以用作变量的类型,表示变量不接收任何值。在函数中,void表示函数没有返回任何值,即函数执行完毕后没有返回值。 function logMessage(message: string): void {console.log(message);}let resul...
never:永不存在的值的类型 void: 无任何类型,没有类型 用于函数时,never表示函数用于执行不到返回值那一步(抛出异常或死循环)的返回值类型, 即永不存在的值的类型。 而void则表示没有返回值,不返回或返回undefined 使用原则上 能不用any,就不用any声明时如果不确定具体的类型,则可以使用unknown代替,在使用时用...
never1 = never2 void void某种程度上来说正好与any相反,表示无任何类型,没有类型,如果是函数则应没有返回值或者返回undefined: function hello(): void { console.log("Hello sisterAn"); } 也可以声明一个void类型的变量,不过你只能为它赋予undefined、null(注意,"strictNullChecks": true时会报错)和void类型...
大家好,我是前端西瓜哥。今天来学习 TS 中几个比较特殊的类型:any、unknown、never、void。 any any 表示任意类型。 它是任意类型的父类,任意类型的值都可以赋予给 any 类型: 代码语言:javascript 代码运行次数:0 // 编译不会报错letanything:any='前端西瓜哥';letflag:boolean=true;anything=flag;anything={num...
void:表示无任何类型,没有类型,例如没有返回值的函数的返回值类型 any 与 unknown 的区别: unknown与any类似,但使用前必须进行断言或守卫 never 与 void 的区别: 用于函数时,never表示函数用于执行不到返回值那一步(抛出异常或死循环)的返回值类型,即永不存在的值的类型,而void则表示没有返回值,不返回或返回un...
TypeScript 中的 Any、Unknown、Never 和Void 今天来学习 TS 中几个比较特殊的类型:Any、Never、Never、Void。 大家好,我是前端西瓜哥。今天来学习 TS 中几个比较特殊的类型:any、never、never、void。 any any 表示任意类型。 它是任意类型的父类,任意类型的值都可以赋予给 any 类型:...
functionfn1():void{// 没有返回值}function fn2(): never { // 抛出异常,返回值类型为 never throw new Error('in a function with "never" returned');}function fn3(): never { // 死循环,返回值类型也是 never while (true) { // do something... }} ...
functionthrowError():never{thrownewError(); }functionfirstChar(msg:string|undefined) {if(msg ===undefined)throwError();letchr = msg.charAt(1)// ✅} void类型 void 类型的变量只能赋值undefined letunusable:void=undefined;//okletunusable:void=null;//Type 'null' is not assignable to type 'vo...