TypeScript 函数返回值类型

1、void 类型

在 JavaScript 中,如果一个函数可以没有显式 return,此时函数的返回值是 undefined:

function func() {
  ......
}
console.log(func()); // undefined

需要注意的是,在 TypeScript 中,如果我们显式声明函数的返回值类型为 undfined,会报错:

function func(): undefined { 
 ......
}
// error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value.

此时,正确的做法是使用void 类型来表示函数没有返回值的类型(void 类型很少用到,这基本是唯一有用的场景),示例如下:

function func(): void {
  ......
}

2、never 类型

never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型。下面是一些返回never类型的函数:

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

3、any 类型

有时候,某些变量的值在编程阶段还不清楚,不希望类型检查器对这些值进行检查而是直接通过编译阶段的检查,就可以使用 any 类型来标记这些变量。

原文链接:http://www.mybatis.cn/typescript/1995.html