Vlastnosti rozhraní v TypeScript

Majme rozhranie, ktoré popisuje užívateľa:

typescriptinterface IUser {
  
}

Pridajme do tohto rozhrania vlastnosti a ich typ:

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

Teraz vytvoríme objekt rozhrania. Na to deklarujeme premennú, v ktorej uvedieme ako typ zvolené rozhranie:

typescriptlet user: IUser;

Teraz môžeme zadať hodnoty pre vlastnosti definované v rozhraní:

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

Ak sa teraz pokúsime vytvoriť užívateľa bez zadania požadovaných vlastností, uvidíme chybu:

typescriptlet user: IUser = {
  name: 'john',  // chyba
}

Chyba bude aj v prípade, ak sa pokúsime pridať nadbytočnú vlastnosť:

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

Vytvorte rozhranie IMath s vlastnosťami num1 a num2.

Задание 2

Implementujte objekt calc vyššie vytvoreného rozhrania.