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

标签 javascript typescript oop

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

我在下面的代码中展示了我所期望的: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) {
  // ...
}

最佳答案

你是对的 - 这是一个完整的例子 - 你会看到 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();

这是数字示例 - 如果您尝试这样做,您会在 playground 编辑器中看到红色波浪线:

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

关于javascript - 如何在 TypeScript 中声明函数的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12736269/

相关文章:

reactjs - 如何使用重新选择和 typescript 创建自定义相等函数?

cordova - typescript 错误 : Cannot find name 'cordova'

javascript - 类似桌面的 Web 应用程序中的面向对象设计

php - 了解 php 引用和静态

javascript - 使用经典 asp 进行 Dreamweaver 回发

javascript - 检查元素中的类

javascript - 微软图: Cross-origin token redemption is permitted only for the 'Single-Page Application

javascript - 输入类型文件 - 如何访问文件属性?

java - 在 Java 中如何只扩展函数而不是整个类?

javascript - 检测元素何时溢出打印宽度的最可靠方法