我里面有一个class
和一个constructor
。构造函数将值x
作为参数,我想使用
this.x = x
但是打字稿会引发错误:
TS2339:类型“ myClass”中不存在属性“ x”
有人知道如何解决这个问题,而不必声明每个额外的变量,例如“ private x: number;
”->“ this.x = x
”
答案 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