JavaScript Getter and Setter (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθετε για τις μεθόδους λήψης και ρύθμισης JavaScript με τη βοήθεια παραδειγμάτων.

Στο JavaScript, υπάρχουν δύο είδη ιδιοτήτων αντικειμένων:

  • Ιδιότητες δεδομένων
  • Ιδιότητες πρόσβασης

Ιδιότητα δεδομένων

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

 const student = ( // data property firstName: 'Monica'; );

Πρόσβαση ιδιοκτησίας

Στο JavaScript, οι ιδιότητες του accessor είναι μέθοδοι που λαμβάνουν ή ορίζουν την τιμή ενός αντικειμένου. Για αυτό, χρησιμοποιούμε αυτές τις δύο λέξεις-κλειδιά:

  • get - για να ορίσετε μια μέθοδο λήψης για να λάβετε την τιμή της ιδιοκτησίας
  • set - για να ορίσετε μια μέθοδο ρύθμισης για να ορίσετε την τιμή ιδιοκτησίας

Πρόγραμμα λήψης JavaScript

Στο JavaScript, οι μέθοδοι λήψης χρησιμοποιούνται για την πρόσβαση στις ιδιότητες ενός αντικειμένου. Για παράδειγμα,

 const student = ( // data property firstName: 'Monica', // accessor property(getter) get getName() ( return this.firstName; ) ); // accessing data property console.log(student.firstName); // Monica // accessing getter methods console.log(student.getName); // Monica // trying to access as a method console.log(student.getName()); // error

Στο παραπάνω πρόγραμμα, δημιουργείται μια μέθοδος λήψης getName()για πρόσβαση στην ιδιότητα ενός αντικειμένου.

 get getName() ( return this.firstName; )

Σημείωση: Για να δημιουργήσετε μια μέθοδο λήψης, χρησιμοποιείται η getλέξη-κλειδί.

Και επίσης κατά την πρόσβαση στην τιμή, έχουμε πρόσβαση στην τιμή ως ιδιότητα.

 student.getName;

Όταν προσπαθείτε να αποκτήσετε πρόσβαση στην τιμή ως μέθοδο, παρουσιάζεται ένα σφάλμα.

 console.log(student.getName()); // error

Ρυθμιστής JavaScript

Στο JavaScript, χρησιμοποιούνται μέθοδοι ρύθμισης για την αλλαγή των τιμών ενός αντικειμένου. Για παράδειγμα,

 const student = ( firstName: 'Monica', //accessor property(setter) set changeName(newName) ( this.firstName = newName; ) ); console.log(student.firstName); // Monica // change(set) object property using a setter student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

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

 set changeName(newName) ( this.firstName = newName; )

Σημείωση: Για να δημιουργήσετε μια μέθοδο ρύθμισης, χρησιμοποιείται η setλέξη-κλειδί.

Όπως φαίνεται στο παραπάνω πρόγραμμα, η τιμή firstNameείναι Monica.

Στη συνέχεια, η τιμή αλλάζει σε Sarah.

 student.chageName = 'Sarah';

Σημείωση : Ο ρυθμιστής πρέπει να έχει ακριβώς μία τυπική παράμετρο.

JavaScript Object.defineProperty ()

Στο JavaScript, μπορείτε επίσης να χρησιμοποιήσετε τη Object.defineProperty()μέθοδο για να προσθέσετε getter και ρυθμιστές. Για παράδειγμα,

 const student = ( firstName: 'Monica' ) // getting property Object.defineProperty(student, "getName", ( get : function () ( return this.firstName; ) )); // setting property Object.defineProperty(student, "changeName", ( set : function (value) ( this.firstName = value; ) )); console.log(student.firstName); // Monica // changing the property value student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

Στο παραπάνω παράδειγμα, Object.defineProperty()χρησιμοποιείται για πρόσβαση και αλλαγή της ιδιότητας ενός αντικειμένου.

Η σύνταξη για χρήση Object.defineProperty()είναι:

 Object.defineProperty(obj, prop, descriptor)

Η Object.defineProperty()μέθοδος περιλαμβάνει τρία ορίσματα.

  • Το πρώτο όρισμα είναι το αντικείμενοName.
  • Το δεύτερο όρισμα είναι το όνομα της ιδιότητας.
  • Το τρίτο όρισμα είναι ένα αντικείμενο που περιγράφει την ιδιότητα.

ενδιαφέροντα άρθρα...