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

2022-08-30 01:48:44

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

答案 1

你是对的 - 这是一个完全工作的示例 - 你会看到它是一个隐式字符串,因为返回类型是在函数上指定的。将类型更改为,您将收到警告。var resultgreet()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;
}

答案 2

使用箭头表示法的返回类型与前面的答案相同:

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