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

num1 жана num2 касиеттери менен IMath интерфейсин түзүңүз.

Задание 2

Жогоруда түзүлгөн интерфейстин calc объектин ишке ашырыңыз.