为什么我们不能在打字稿的类中使用 let 关键字

2024-04-27

我是 TypeScript 新手。我想知道为什么我们不能使用let类内变量声明的关键字,如下所示。提前致谢。

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

let greeter = new Greeter("world");
console.log(greeter.greet())

我相信你的问题是为什么can't我们使用 let 关键字...

在打字稿中:

我认为这只是一个语法选择,但类属性不需要关键字。您可以选择添加一个public关键字或者如果您希望类属性对于该类型是私有的,您可以使用private关键词:

class Greeter {
  greeting: string;
  // or
  public greeting: string;
  //alternatively
  private greeting: string;

这只是为了类型的目的而定义属性。稍后,当你这样做时:

const greeter = new Greeter;

现在您将能够使用greeter.greeting所有字符串方法和 TypeScript 都将成功转换。如果greeting没有声明您在尝试转译时会收到错误

Property 'greeting' does not exist on type 'Greeter'

在 JavaScript 中:

目前根本无法在 JavaScript 中声明类属性。这是故意不支持的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们不能在打字稿的类中使用 let 关键字 的相关文章

随机推荐