我知道打字稿上的'void'类型会做什么。但是我遇到了以下代码。
[
{ id: "2", option: { bound_id: "12" }}
{ id: "12", option: { bound_id: "2" }}
]
我在打字稿文档https://www.typescriptlang.org/docs/handbook/functions.html
上也看到了相同的内容键入“ void”是什么 功能参数?
答案 0 :(得分:2)
void
作为this
类型很有用,因为它保证您不会使用this
参数。
function f(this: void, ...) {
// Can't use `this` in here.
}
在其他参数上,它...没有那么有用。如果您关闭了--strictNullChecks
,则仍然可以通过传递null
或undefined
作为void参数来调用该函数。如果您不这样做,则因为void
无人居住,您甚至无法调用该函数。
如果您以前从未见过this
作为函数参数编写,建议您阅读本文档的this
section(完全是双关语)。
答案 1 :(得分:0)
简而言之,void
用于表示缺乏价值。您可以将其视为另一种说undefined
的方式。
const foo: void = undefined;
void
用作返回类型时,表明该函数将不会显式返回任何内容。
function log(argument: any): void {
console.log(argument);
}
尽管在运行时log
隐式地返回了undefined
,但TypeScript在void
和undefined
之间进行了概念上的区分。
function log(argument: any): void {
console.log(argument);
}
const foo: undefined = log('Hello'); // Error — "void" is not "undefined"
this
用作void
类型时,表示在函数调用期间使用的this
将是默认的执行上下文-全局范围。在某些情况下有帮助。创建scope-safe constructors是其中之一。