当清除变量为this时,打字稿会引发错误。

时间:2019-07-12 06:51:07

标签: javascript typescript

我里面有一个class和一个constructor。构造函数将值x作为参数,我想使用

为类声明一个变量
this.x = x 

但是打字稿会引发错误:

  

TS2339:类型“ myClass”中不存在属性“ x”

有人知道如何解决这个问题,而不必声明每个额外的变量,例如“ private x: number;”->“ this.x = x

1 个答案:

答案 0 :(得分:4)

如果有构造函数参数,则只需声明一个访问修饰符使其成为一个字段即可,甚至不需要执行赋值(打字稿将为您完成)

class C {
    constructor(public x: number) {} // can also be private or protected instead of public
    m() {
        this.x = 10;
    }
}
new C(1).x // ok, x is declared and is 1