无法在构造函数中设置属性

时间:2014-01-24 16:41:13

标签: javascript typescript

给出以下打字稿:

class Tester{
    constructor(data){      
        this.Data = data;
    }
}

生成以下Javascript:

var Tester = (function () {
    function Tester(data) {
        this.Data = data;
    }
    return Tester;
})();

当得到的Javascript看起来有效(并且有效)时,为什么Typescript无效?

JS Output

Typescript Playground Version

1 个答案:

答案 0 :(得分:1)

将“数据”成员添加到您的班级:

class Tester {
    public Data: string;

    constructor(data) {
        this.Data = data;
    }

}

<强>更新

定义类成员的方法较短:

class Tester {
    constructor(private data: string) {
         // this constructor signature defines a private member for the class 
         // and initializes it upon the constructor being called with a parameter.
    }

    getData(): string {
         return this.data;
    }
}

http://www.typescriptlang.org/Playground/#src=%0A%0Aclass%20Tester%7B%0A%09%0A%09constructor%28data%29%7B%0A%09%09%0A%09%09this.Data%20%3D%20data%3B%0A%09%7D%0A%09%0A%7D