我在打字稿中使用ES6类,内容如下:
class Camera {
constructor(ip) {
this.ip = ip;
}
}
我收回了这个错误,虽然它似乎仍然在编译:
“相机”类型中不存在“IP”属性。
如果我定义类型:
this.ip: string = ip;
我回来了:
';'预期
我应该如何格式化类以消除这两个错误?
答案 0 :(得分:1)
首先在类上声明属性:
class Camera {
ip;
constructor(ip) {
this.ip = ip;
}
}
或者在构造函数参数(首选方法)上声明它,只需在参数中添加一个访问修饰符以表明它是一个属性:
class Camera {
constructor(public ip) {
// note no explicit assignment
}
}
答案 1 :(得分:0)
您尝试访问属性“ip”而不在类本身中定义它。 当你调用Camera类并且它搜索ip属性时会调用constructer(ip){}。因为你没有在类中定义它会给出错误
用这种方式。祝福。
class Camera {
private ip: string; // declare your variable first with the type
constructor(ip) {
this.ip = ip;
}
}