我在这里检查了https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md这是TypeScript 语言规范,但我找不到如何声明函数的返回类型。
我在下面的代码中展示了我的期望:greet(name:string): string {}
greet(name:string): string {}
class Greeter { greeting: string; constructor(message: string) { this.greeting = message; } greet(): string { return "Hello, " + this.greeting; } }
我知道我可以使用(name:string) => any,但这主要在传递回调函数时使用:
(name:string) => any
function vote(candidate: string, callback: (result: string) => any) { // ... }
你是对的 - 这是一个完整的工作示例 - 你会看到它var result隐含地是一个字符串,因为返回类型是在greet()函数上指定的。将类型更改为number,您将收到警告。
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; }