Propriedades de interfaces em TypeScript

Suponha que temos uma interface que descreve um usuário:

typescriptinterface IUser {
  
}

Vamos adicionar propriedades e seus tipos a esta interface:

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

Agora criamos um objeto da interface. Para isso declaramos uma variável, na qual especificamos a interface escolhida como tipo:

typescriptlet user: IUser;

Agora podemos definir os valores para as propriedades especificadas na interface:

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

Se tentarmos criar um usuário sem definir suas propriedades necessárias, veremos um erro:

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

Um erro também ocorrerá se tentarmos adicionar uma propriedade extra:

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

Crie uma interface IMath com as propriedades num1 e num2.

Задание 2

Implemente um objeto calc da interface criada acima.