Непонятно, что означает adds
в Calculator
, но ничто в вашем коде не создает addition
объект и присваивает его adds
, поэтому adds
undefined
, и вы не можете получить доступ к свойствам undefined
.Просто объявление свойства для него не создает его.Вы должны создать или получить один.(Но я подозреваю, что вы вообще не хотите adds
.)
FWIW:
Код в Calculator
кажется странным.Он объявляет свойства, которые он никогда не использует (и не нуждается, из очевидного API, который он предоставляет).Для чего нужны свойства adds
, num1
и num2
?Вы принимаете числа в качестве параметров для add
и sub
, а Calculator
сам по себе является addition
объектом.
Без этих свойств было бы гораздо проще:
interface Addition {
add(num1:number, num2:number): number;
}
class Calculator implements addition {
add(num1: number, num2: number): number {
return num1 + num2;
}
sub(num1: number, num2: number): number {
return num1 - num2;
}
}