Ιδιότητες Διακοινώσεων στο 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 της διεπαφής που δημιουργήθηκε παραπάνω.