Αντικείμενα στη Javascript
Όπως ξέρουμε οι μεταβλητές στη Javascript είναι δοχεία που περιέχουν μία τιμή. Τα αντικείμενα στη Javascript είναι και αυτά μεταβλητές αλλά μπορούν να περιέχουν πολλές τιμές.
Μπορούμε να δημιουργήσουμε και να δηλώσουμε ένα αντικείμενο με δύο τρόπους.
Πρώτος τρόπος:
var car = { type: "Toyota", model:"Yaris", color:"silver", horsePower: 85 };
Δεύτερος τρόπος:
var car = { type: "Toyota", model:"Yaris", color:"silver", horsePower: 85 };
Τα αντικείμενα στη Javascript είναι σαν τα πραγματικά αντικείμενα. Έχουν ιδιότητες και μεθόδους.
Για παράδειγμα, ένα αυτοκίνητο είναι ένα αντικείμενο. Έχει ιδιότητες, όπως βάρος και χρώμα, και μεθόδους, όπως η εκκίνηση και η ακινητοποίηση του.
Ιδιότητες (Properties) Αντικειμένων στη Javascript
Όπως είδαμε παραπάνω τα αντικείμενα είναι μεταβλητές που μπορούν να περιέχουν πολλές τιμές. Οι τιμές αυτές αποθηκεύονται στις ιδιότητες του αντικειμένου.
Στο παρακάτω παράδειγμα θα δημιουργήσουμε ένα άνθρωπο και θα του ορίσουμε τις εξής ιδιότητες: όνομα, επώνυμο, ηλικία, βάρος, χρώμα ματιών.
var person = { firstName: "Θανάσης", lastName: "Παπαδόπουλος", age: 50, weight: 85, eyeColor: "brown" };
Μπορούμε να χρησιμοποιήσουμε τις ιδιότητες ενός αντικειμένου με δύο τρόπους:
Πρώτος τρόπος:
person.firstName; person.age;
Δεύτερος τρόπος:
person["firstName"]; person["age"];
!Όλα τα αντικείμενα έχουν τις ίδιες ιδιότητες αλλά οι τιμές των ιδιοτήτων αλλάζουν από αντικείμενο σε αντικείμενο.
Μέθοδοι Αντικειμένων στη Javascript
Τα αντικείμενα στη Javascript εκτός από τις τιμές, μπορούν να περιέχουν και μεθόδους. Ενέργειες δηλαδή που εκτελεί το αντικείμενο μας.
Οι μέθοδοι των αντικειμένων είναι οι γνωστές συναρτήσεις (functions).
Στο παρακάτω παράδειγμα θα προσθέσουμε στον άνθρωπο που δημιουργήσαμε στο προηγούμενο παράδειγμα, την μέθοδο fullName που επιστρέφει το όνομα και το επώνυμο του.
var person = { firstName: "Θανάσης", lastName: "Παπαδόπουλος", age: 50, weight: 85, eyeColor: "brown" fullName : function() { return this.firstName + " " + this.lastName; } };
Ο σωστός τρόπος να καλέσουμε μία μέθοδο ενός αντικειμένου είναι ο εξής:
name = person.fullName();
Αν καλέσουμε τη μέθοδο ενός αντικειμένου και ξεχάσουμε να γράψουμε τις παρενθέσεις, δηλαδή:
name = person.fullName;
Αυτό που θα μας επιστραφεί είναι ο ορισμός της μεθόδου.
function () { return this.firstName + ” ” + this.lastName; }
!Όλα τα αντικείμενα έχουν τις ίδιες μεθόδους αλλά αυτές εκτελούνται σε διαφορετικούς χρόνους.