javascript - Typescript 中的字段变量

标签 javascript visual-studio typescript

我正在学习 Typescript,但我似乎无法准确地弄清楚类的结构。 即如何使用字段变量。

class NumberClass {
    private numberArray1: number[] = [1,2,3,4,5,6,7,8,9,10];
    public numberArray2: number[] = [1,2,3,4,5,6,7,8,9,10];
    numberArray3: number[] = [1,2,3,4,5,6,7,8,9,10];
    var numberArray4: number[] = [1,2,3,4,5,6,7,8,9,10];


    validateNumber(): void{

        for (var i: number = 0; i < numberArray.length; i++) {
            //validate numbers
        }
    }

}

numberArray1numberArray3 表示无法解析, numberarray4 完全破坏了所有内容,并告诉我需要一个构造函数、方法、访问器或属性。

谁能告诉我我不明白的是什么? :)

最佳答案

您的代码中存在一些问题。

不能将松散变量声明为类定义的一部分。只允许私有(private)/公共(public)/ protected 或什么都不允许。没有访问修饰符与 public 相同。因此你的 #1,2,3 是有效的。但#4 不是。

如果你想访问类方法中的实例字段,你应该使用“this”关键字:

 for (var i: number = 0; i < this.numberArray1.length; i++) {
         //validate numbers
 }

或者将此字段声明为静态:

private static numberArray1: number[] = [1,2,3,4,5,6,7,8,9,10];

并通过类名访问它:

for (var i: number = 0; i < NumberClass.numberArray1.length; i++) {
        //validate numbers
}

关于javascript - Typescript 中的字段变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35662510/

相关文章:

javascript - 检索变量值作为名称

javascript - Set 和 Get 访问器不适用于我的 Angular 组件

javascript - 有没有办法以 Angular 形式将 json 键作为字符串 @Input() 传递

c# - Clean Solution 导致引用错误

asp.net - 无法使用快速修复导入 namespace (Visual Studio Code)

javascript - Visual Studio 代码。正则表达式仅搜索/替换撇号

javascript - 如何将类型分配给 Typescript 中的解构变量?

javascript - TinyMCE 将链接附加到当前 URL

javascript - 文件上传触发两次?

javascript - JQuery 在使用先前的 .replaceWith() 创建的 html 元素上使用 .replaceWith()