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

新手上路,请多包涵

我在这里检查了 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) {
  // ...
}

原文由 Tarik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 697
2 个回答

你是对的 - 这是一个完整的工作示例 - 你会看到 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;
 }

原文由 Fenton 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用箭头符号的返回类型与前面的答案相同:

 const sum = (a: number, b: number) : number => a + b;

原文由 Adverbly 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题