06. Πρωτότυπα αντικειμένων JavaScript

Object Prototypes


Όλα τα αντικείμενα JavaScript κληρονομούν ιδιότητες και μεθόδους από ένα πρωτότυπο.


Στο προηγούμενο κεφάλαιο μάθαμε πώς να χρησιμοποιήσουμε έναν κατασκευαστή αντικειμένων :

Παράδειγμα

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}

var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("Sally", "Rally", 48, "green");

Δοκιμάστε τον εαυτό σας »

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

Παράδειγμα

Person.nationality = "English";

Δοκιμάστε τον εαυτό σας »

Για να προσθέσετε μια νέα ιδιότητα σε έναν κατασκευαστή, πρέπει να την προσθέσετε στη συνάρτηση κατασκευής:

Παράδειγμα

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
  this.nationality = "English";
}

Δοκιμάστε τον εαυτό σας »


Πρωτότυπη κληρονομικότητα

Όλα τα αντικείμενα JavaScript κληρονομούν ιδιότητες και μεθόδους από ένα πρωτότυπο:

  • Date αντικείμενα κληρονομούν από Date.prototype
  • Array αντικείμενα κληρονομούν από Array.prototype
  • Person αντικείμενα κληρονομούν από Person.prototype

Η Object.prototypeείναι στην κορυφή της αλυσίδας κληρονομικότητας πρωτοτύπου:

Αντικείμενα Date, αντικείμενα Array, και αντικείμενα Person κληρονομούν από το Object.prototype.


Προσθήκη ιδιοτήτων και μεθόδων σε αντικείμενα

Μερικές φορές θέλετε να προσθέσετε νέες ιδιότητες (ή μεθόδους) σε όλα τα υπάρχοντα αντικείμενα συγκεκριμένου τύπου.

Μερικές φορές θέλετε να προσθέσετε νέες ιδιότητες (ή μεθόδους) σε έναν κατασκευαστή αντικειμένων.


Χρησιμοποιώντας την ιδιότητα prototype

Η JavaScript prototype ιδιότητα  σας επιτρέπει να προσθέσετε νέες ιδιότητες σε κατασκευαστές αντικειμένων:

Παράδειγμα

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}

Person.prototype.nationality = "English";

Δοκιμάστε τον εαυτό σας »

Η JavaScript ιδιότητα prototype σας επιτρέπει επίσης να προσθέσετε νέες μεθόδους στους κατασκευαστές αντικειμένων:

Παράδειγμα

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}

Person.prototype.name = function() {
  return this.firstName + " " + this.lastName;
};

Δοκιμάστε τον εαυτό σας »

Τροποποιήστε μόνο τα δικά σας πρωτότυπα. Ποτέ μην τροποποιείτε τα πρωτότυπα standard αντικειμένων JavaScript.


Days
Hours
Minutes

06. Πρωτότυπα αντικειμένων JavaScript

Κοινοποίηση

Share on facebook
Share on twitter

Ακολουθήστε μας

Αρέσει σε %d bloggers: