TypeScript:类/方法中变量/属性的声明

TypeScript: Declaration of variables / attributes in classes / methods

本文关键字:属性 声明 变量 方法 TypeScript      更新时间:2023-09-26

有人能给我回答以下两个问题吗:

1) 为什么不能在方法中声明变量,比如综合类中的属性?

我想要的:private foo: string(编译器错误)
我要做的:var foo: string(没有编译器错误)

2) 何时将变量声明为类的属性,何时仅在方法中声明变量?我不确定Java知识是否适合这种情况。我会自然而然地说,它取决于变量的范围(如果需要它,例如在两个或多个方法中->类的属性,否则->方法的变量)。

谢谢!

如果你提到你要做的事情,回答你会更容易。

TypeScript私有类成员在运行时实际上并不是私有的;如果你想要真正的隐私,你应该使用这样的闭包:

class Foo {
  getSomethingPrivate: () => number
  constructor() {
    var somethingPrivate = 1;
    this.getSomethingPrivate = function() {
      return somethingPrivate;
    }
  }
}