TypeScript-de interfeýslerimiň aýratynlyklary

Deňişdirmeli, bizde ulanyjy (user) beýan edýän interfeýs bar:

typescriptinterface IUser {
  
}

Geliň, bu interfeýse aýratynlyklar we olaryň görnüşini goşalyň:

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

Indi interfeýsiň objektini dörediň. Bunuň üçin üýtgeýän ýady ýarlap, görnüş hökmünde saýlanan interfeýsi görkeziň:

typescriptlet user: IUser;

Indi biz interfeýsde kesgitlenen aýratynlyklar üçin bahalar ýazyp bileris:

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

Indi zerur aýratynlyklary bermän ulanyjy döretmäge synanyşanyňyzda, ýalňyşlygy göreris:

typescriptlet user: IUser = {
  name: 'john',  // ýalňyşlyk
}

Şeýle hem artykmaç aýratynlyk etmäge synanyşanyňyzda ýalňyşlyk bolar:

typescriptlet user: IUser = {
  name: 'john',
  surn: 'smit', // ýalňyşlyk
  age: 30
}
Задание 1

num1 we num2 aýratynlyklary bilen IMath interfeýsini dörediň.

Задание 2

Ýokarda döredilen interfeýsiň calc objektini amala aşyryň.