Хусусиятҳои интерфейсҳо дар 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

Интерфейси IMath бо хусусиятҳои num1 ва num2 эҷод кунед.

Задание 2

Объекти calc-и интерфейси эҷодкардаи болоро амалӣ кунед.