TS2331'this'无法在模块或命名空间体中引用

时间:2017-07-03 04:12:16

标签: javascript typescript interface this

我正在尝试创建一个接口,并在实现它时收到错误。 错误:TS2331'this'无法在模块或命名空间体中引用。

module myInterface {
    interface IPerson {
        name: string;
        age: number;
        greet: () => void;
        myAge: () => void;
    }

    var person: IPerson = {
        name: "Gautam",
        age: 1,
        greet: () => {
            console.log("Hey, " + this.name);
        },
        myAge: () => { console.log(this.age); }
    }

    var greetMe = person.greet();
    var agee = person.myAge();
}  

1 个答案:

答案 0 :(得分:2)

从你的代码:

{
        name: "Gautam",
        age: 1,
        greet: () => {
            console.log("Hey, " + this.name);
        },

}

this.name由于箭头功能如何与name: "Gautam"一起使用,是否会引用this。这只是TypeScript preventing bad JavaScript的另一种情况。

更多