TypeScript,空白类型(void)和未定义(undefined)

void 是 TypeScript 中表示函数没有返回值的类型。通常用于标识那些执行某些操作而不返回任何值的函数。下面是一些关于 void 类型的重要点:

1. 函数没有返回值:

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

在这个例子中,logMessage 函数接收一个字符串参数 message,但并没有返回任何值。它的返回类型被标记为 void

2. 变量的 void 类型:

let unusable: void = undefined;

void 类型可以用于声明变量,但这个变量只能被赋值为 undefinednull

3. 主要用于函数:

void 类型主要用于函数,表示该函数没有返回值。对于其他变量或常量,通常会使用 undefinednull

// 使用 undefined 或 null
let myVariable: undefined = undefined;
let myConstant: null = null;

// let myVoidVariable: void = undefined; 
// 错误,因为 void 类型不能直接用于变量声明

4. undefinednull 的区别:

  • void 表示没有返回值的函数类型,而 undefinednull 是表示变量可以被赋值的两个特殊值。

  • 在函数返回类型上,使用 void 表示函数不返回值,而在变量声明时使用 void 则表示该变量只能被赋值为 undefinednull

function performAction(): void {
    // 执行某些操作
    console.log("Action performed");
}

let result: void = performAction(); // OK,因为 performAction 没有返回值

let variable: void = undefined; // OK
// let variable: void = 10; // 错误,因为 void 类型只能为 undefined 或 null

总的来说,void 类型主要用于标识没有返回值的函数,使得在函数声明时能够明确表达这一特性。在其他变量声明中,一般不直接使用 void 类型,而是使用 undefinednull