在TypeScript中,'void'是什么意思?

16

我在网上看到了这个问题,想知道在TypeScript中void是什么意思?

就像这里所示:

private _handleProjectQuerySuccess(data: IProject[]): void  
{
    data.sort(this._projectSort);

    var pathname = this._$location.path();

    var activeSet = false;
    data.forEach((project: IProject) =>
    {
        project.active = pathname == '/' + project.id;
        activeSet      = activeSet || project.active;

        project.name        = this._$sanitize(project.name);
        project.description = this._$sanitize(project.description);
        project.url         = this._$sce.trustAsUrl(project.url);
        project.readme      = this._$sce.trustAsHtml(project.readme);

        project.title = project.name + (project.fork ? ' (fork)' : ' (repo)');

        this._scope.projects.push(project);

        this._projectMap[project.id] = this._scope.projects[this._scope.projects.length - 1];
    });

    if (!activeSet)
    {
        data[0].active = true;
    }
}

我们声明为私有后,就意味着使用了void...这是什么意思?

2个回答

26

这只是一种类型,如此文档所述:

Void

在某些方面,'void'与'any'相反,表示完全没有任何类型。你通常会看到它作为不返回任何值的函数的返回类型:

function warnUser(): void {
    alert("This is my warning message");
}

那么这意味着函数的类型是'void'吗?还是它返回'void'? - uksz
3
声明类型的标准TypeScript方法是使用冒号 : - 这种表示法:name:stringfunc:Function... 因此,如果我们想明确声明函数的返回类型,我们使用相同的表示法。 回答是:它是返回值类型。 - Radim Köhler
现在 TypeScript 已经有了 never,这似乎已经过时了。 - Parzh from Ukraine

0

需要注意的是,voidany 类型有些重叠,在一开始可能会感到奇怪。虽然 void 可能不返回任何数据(仅限于 nullundefined)- any 可以返回任何类型的数据(包括 nullundefined)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接