⊗jsOpAdNC 44 of 60 menu

Συγκρούσεις Ονομάτων Μεθόδων και Ιδιοτήτων στο OOP στην JavaScript

Τα ονόματα των ιδιοτήτων και των μεθόδων δεν πρέπει να συμπίπτουν, αυτό θα προκαλέσει σύγκρουση. Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση:

class User { name() { console.log('method'); } }

Ας δημιουργήσουμε ένα αντικείμενο αυτής της κλάσης:

let user = new User;

Ας καλέσουμε τη μέθοδό του, προς το παρόν όλα λειτουργούν:

user.name(); // λειτουργεί

Τώρα ας γράψουμε δεδομένα στην ιδιότητα με το ίδιο όνομα, αντικαθιστώντας έτσι τον κώδικα της μεθόδου:

user.name = 'str'; user.name(); // σφάλμα

Για να αποφύγετε τέτοιες συγκρούσεις πάντα δίνετε στις μεθόδους ονόματα-ρήματα, και στις ιδιότητες - ονόματα-ουσιαστικά.

Διορθώστε το σφάλμα που έγινε στον ακόλουθο κώδικα:

class Employee { constructor(salary) { this.salary = salary; } salary() { return this.salary + '€'; } }
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη