Свойства на интерфейсите в TypeScript

Нека имаме интерфейс, описващ потребител:

typescriptinterface IUser {
  
}

Нека добавим към този интерфейс свойства и техния тип:

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

Сега създаваме обект от интерфейса. За това декларираме променлива, в която посочваме като тип избрания интерфейс:

typescriptlet user: IUser;

Сега можем да запишем стойности за свойствата, зададени в интерфейса:

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

Ако сега се опитаме да създадем потребител, без да му зададем необходимите свойства, ще видим грешка:

typescriptlet user: IUser = {
  name: 'john',  // грешка
}

Също така ще има грешка, ако се опитаме да направим допълнително свойство:

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

Създайте интерфейс IMath със свойства num1 и num2.

Задание 2

Реализирайте обект calc от създадения по-горе интерфейс.