Javascript Object.seal ()

Η μέθοδος Object.seal () JavaScript σφραγίζει το δεδομένο αντικείμενο.

Η seal()μέθοδος αποτρέπει την προσθήκη νέων ιδιοτήτων στο αντικείμενο και επισημαίνει όλες τις υπάρχουσες ιδιότητες ως μη διαμορφώσιμες.

Η σύνταξη της seal()μεθόδου είναι:

 Object.seal(obj)

Η seal()μέθοδος, ως στατική μέθοδος, καλείται χρησιμοποιώντας το Objectόνομα κλάσης.

σφραγίδα () Παράμετροι

Η seal()μέθοδος περιλαμβάνει:

  • obj - Το αντικείμενο που πρόκειται να σφραγιστεί.

Τιμή επιστροφής από σφραγίδα ()

  • Επιστρέφει το αντικείμενο που σφραγίζεται.

Παράδειγμα: Χρήση σφραγίδας ()

 let obj = ( foo: "bar", func: function () (), ); // before sealing, properties can be added, modified, or removed obj.foo = "JavaScript"; obj.value = 5; delete obj.func; // sealing the object o = Object.seal(obj); // can still change property values obj.foo = "bar1"; // no other change // fails silently obj.foo1 = "bar"; delete obj.foo; console.log(obj); // ( foo: 'bar1', value: 5 ) // cannot convert data property to accessors or vice versa Object.defineProperty(obj, "foo", ( get: function () ( return "g"; ), )); // TypeError Cannot redefine property: foo

Παραγωγή

 (foo: 'bar1', value: 5) TypeError Δεν είναι δυνατή η επαναπροσδιορισμός της ιδιότητας: foo

Σημειώσεις :

  • Από προεπιλογή, τα αντικείμενα είναι επεκτάσιμα (μπορούν να προστεθούν νέες ιδιότητες σε αυτά). Η σφράγιση αντικειμένων καθιστά ιδιότητες σε αντικείμενα σταθερά και αμετάβλητα. Οι τιμές των τρεχουσών ιδιοτήτων μπορούν ακόμα να αλλάξουν αρκεί να είναι εγγράψιμες.
  • Object.isSealed() μπορεί να χρησιμοποιηθεί για να ελέγξει εάν ένα αντικείμενο είναι σφραγισμένο ή όχι.
  • Η προσπάθεια μετατροπής της ιδιότητας δεδομένων σε βοηθητικό ή αντίστροφα θα αποτύχει σιωπηλά ή θα ρίξει TypeError.

Προτεινόμενη ανάγνωση: Το αντικείμενο JavaScript είναι σφραγισμένο ()

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