javascript - 无法在打字稿中设置接口类型的属性
问题描述
我是打字稿编程的初学者,无法设置属性接口类型,所以请指导我。
interface addition {
num1: number;
num2: number;
add(num1:number, num2:number): number;
}
class Calculator implements addition{
num1: number;
num2: number;
adds: addition; //
add(num1: number, num2: number): number {
return num1 + num2;
}
sub(num1: number, num2: number): number {
let sk: addition = new Calculator()
console.log(sk.add(2, 3));
this.adds.num1=12; // showing error here Uncaught TypeError: Cannot set property 'num1' of undefined
console.log(this.adds.num1)
return num1-num2
}
}
let cal = new Calculator();
console.log(cal.sub(2, 3));
解决方案
您没有初始化adds
声明中的字段。所以在使用它之前sub
你需要初始化它的方法:
this.adds = //initialize with a value before using it in the next line.
this.adds.num1=12;
推荐阅读
- python - 在没有“禁用”方法的情况下限制 Tkinter 的 Entry 字段中的用户输入
- python - Python 美汤选择 attrs 中的文本
- php - 使用php在Cpanel中通过文件名获取文件路径(站点中的整个url)
- unetstack - UnetStack中数据包的组播
- android - Android:在 TabLayout 的自定义样式中将 textAllCaps 设置为 false 不起作用
- svg - 无尽的 SVG 绘图动画
- javascript - 如何使用javaScipt在keydown和paste事件上将文本包装在textarea中
- python - 从 Numpy 中的 npz 调用带有关键字参数的数组
- sql - 我应该如何将原始查询响应传递给 Serializer 类?
- flutter - << 类型是什么?飞镖中的变量名>>语法?