Właściwości interfejsów w TypeScript

Załóżmy, że mamy interfejs opisujący użytkownika:

typescriptinterface IUser {
  
}

Dodajmy do tego interfejsu właściwości i ich typ:

typescriptinterface IUser {
  name: string;
  age: number;
}

Teraz tworzymy obiekt interfejsu. W tym celu deklarujemy zmienną, w której wskazujemy jako typ wybrany interfejs:

typescriptlet user: IUser;

Teraz możemy wpisać wartości dla właściwości zdefiniowanych w interfejsie:

typescriptlet user: IUser = {
  name: 'john',
  age: 30
}

Jeśli teraz spróbujemy utworzyć użytkownika, nie ustawiając mu wymaganych właściwości, zobaczymy błąd:

typescriptlet user: IUser = {
  name: 'john',  // błąd
}

Błąd również wystąpi, jeśli spróbujemy dodać niepotrzebną właściwość:

typescriptlet user: IUser = {
  name: 'john',
  surn: 'smit', // błąd
  age: 30
}
Задание 1

Utwórz interfejs IMath z właściwościami num1 i num2.

Задание 2

Zaimplementuj obiekt calc utworzonego powyżej interfejsu.