【问题标题】:TypeScript: Cannot read property 'push' of undefined in [null]TypeScript:无法读取 [null] 中未定义的属性“推送”
【发布时间】:2016-06-11 21:03:42
【问题描述】:

Error: Cannot read property 'push' of undefined in [null].

class A implements OnInit {
    stringArr: string[];

    ngOnInit() {
        for(let i=0; i<4; i++) {
            this.stringArr.push("aaa");
        }
    }
}

【问题讨论】:

    标签: typescript


    【解决方案1】:

    数组需要初始化:

    stringArr = [];
    

    【讨论】:

    • 我应该把它打印出来贴在我的桌子上。
    【解决方案2】:

    对我来说,语法比公认的答案要多一点,因为我使用的是完整的数组类型。

    stringArr: Array<string> = [];
    

    另外,这也可以

    stringArr: string[] = [];
    

    只需 2 种方式来键入新数组

    【讨论】:

    • "string" 是 TypeScript 字符串类型,而不是 "String"。
    【解决方案3】:
    class A implements OnInit {
        stringArr: string=[];
        ngOnInit() {
            for(let i=0; i<4; i++) {
                this.stringArr.push("aaa");
            }
        }
    }
    

    这里stringArr被定义为字符串,而不是字符串数组。将stringArr定义为空白数组[]。

    【讨论】:

    • 欢迎来到 Stack Overflow!请修复代码块的格式。
    猜你喜欢
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多