TypeScriptin rajapintojen ominaisuudet

Oletetaan, että meillä on rajapinta, joka kuvaa käyttäjää:

typescriptinterface IUser {
  
}

Lisätään tähän rajapintaan ominaisuudet ja niiden tyyppi:

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

Nyt luomme rajapinnan objektin. Tätä varten esittelemme muuttujan, jossa määritämme valitun rajapinnan tyypiksi:

typescriptlet user: IUser;

Nyt voimme kirjoittaa arvot rajapinnassa määritetyille ominaisuuksille:

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

Jos nyt yritetään luoda käyttäjä ilman vaadittujen ominaisuuksien asettamista, näemme virheen:

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

Virhe tapahtuu myös, jos yritetään tehdä ylimääräinen ominaisuus:

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

Luo rajapinta IMath ominaisuuksilla num1 ja num2.

Задание 2

Toteuta objekti calc edellä luodusta rajapinnasta.