小编典典

如何在 TypeScript 中声明函数的返回类型

all

我在这里检查了https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md这是TypeScript
语言规范
,但我找不到如何声明函数的返回类型。

我在下面的代码中展示了我的期望:greet(name:string): string {}

class Greeter {
  greeting: string;
  constructor(message: string) {
    this.greeting = message;
  }
  greet(): string {
    return "Hello, " + this.greeting;
  }
}

我知道我可以使用(name:string) => any,但这主要在传递回调函数时使用:

function vote(candidate: string, callback: (result: string) => any) {
  // ...
}

阅读 136

收藏
2022-08-05

共1个答案

小编典典

你是对的 - 这是一个完整的工作示例 - 你会看到它var result隐含地是一个字符串,因为返回类型是在greet()函数上指定的。将类型更改为number,您将收到警告。

class Greeter {
    greeting: string;
    constructor (message: string) {
        this.greeting = message;
    }
    greet() : string {
        return "Hello, " + this.greeting;
    }
}

var greeter = new Greeter("Hi");
var result = greeter.greet();

这是数字示例 - 如果您尝试以下操作,您将在操场编辑器中看到红色曲线:

greet() : number {
    return "Hello, " + this.greeting;
}
2022-08-05