Proprietà delle interfacce in TypeScript

Supponiamo di avere un'interfaccia che descrive un utente:

typescriptinterface IUser {
  
}

Aggiungiamo a questa interfaccia le proprietà e il loro tipo:

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

Ora creiamo un oggetto dell'interfaccia. Per farlo dichiariamo una variabile, in cui specifichiamo come tipo l'interfaccia scelta:

typescriptlet user: IUser;

Ora possiamo assegnare i valori per le proprietà definite nell'interfaccia:

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

Se ora proviamo a creare un utente senza assegnargli le proprietà richieste, vedremo un errore:

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

Si verificherà un errore anche se si tenta di aggiungere una proprietà in più:

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

Crea un'interfaccia IMath con le proprietà num1 e num2.

Задание 2

Implementa un oggetto calc dell'interfaccia creata sopra.