Η μέθοδος Object Object.freeze () παγώνει ένα αντικείμενο.
Ένα παγωμένο αντικείμενο δεν μπορεί πλέον να αλλάξει. Το πάγωμα ενός αντικειμένου αποτρέπει:
- Νέες ιδιότητες από την προσθήκη στο αντικείμενο.
- Υφιστάμενες ιδιότητες για κατάργηση από το αντικείμενο.
- Αλλαγή της απαριθμησιμότητας, της διαμόρφωσης ή του εγγράφου των υπαρχόντων ιδιοτήτων.
- Αλλαγή τιμών των υπαρχόντων ιδιοτήτων αντικειμένου και πρωτοτύπου.
Η σύνταξη της freeze()
μεθόδου είναι:
Object.freeze(obj)
Η freeze()
μέθοδος, ως στατική μέθοδος, καλείται χρησιμοποιώντας το Object
όνομα κλάσης.
πάγωμα () Παράμετροι
Η freeze()
μέθοδος περιλαμβάνει:
- obj - Το αντικείμενο να παγώσει.
Επιστροφή τιμής από το πάγωμα ()
- Το αντικείμενο που μεταβιβάστηκε στη συνάρτηση.
Σημειώσεις :
- Τυχόν προσπάθειες προσθήκης ή αφαίρεσης από ιδιότητες σετ παγωμένων αντικειμένων θα αποτύχουν είτε σιωπηλά είτε θα ρίξουν
TypeError
(κυρίως όταν βρίσκονται σε αυστηρή λειτουργία). - Τα αντικείμενα που σφραγίζονται
Object.seal()
μπορούν να αλλάξουν τις υπάρχουσες ιδιότητές τους, ενώObject.freeze()
καθιστά τις υπάρχουσες ιδιότητες αμετάβλητες.
Παράδειγμα: Χρήση παγώματος ()
let obj = ( prop: function () (), foo: "bar", ); let o = Object.freeze(obj); console.log(o == obj); // True -> Returns the same object console.log(Object.isFrozen(obj)); // true // changes will fail silently obj.foo = "bar1"; console.log(obj.foo); // bar // does not add silently obj.new_foo = "bar"; console.log(obj.new_foo); // undefined // Following will also throw error // Object.setPrototypeOf(obj, ( x: 20 ))
Παραγωγή
αληθινή αληθινή γραμμή ακαθόριστη
Σημείωση : Object.freeze(obj)
ισχύει μόνο για τις άμεσες ιδιότητες του obj
. Εάν η αξία αυτών των ιδιοτήτων είναι τα ίδια τα αντικείμενα, αυτά τα αντικείμενα δεν έχουν παγώσει και μπορεί να είναι ο στόχος των εργασιών προσθήκης, αφαίρεσης ή εκχώρησης αξίας.
Συνιστώμενη ανάγνωση: Σφραγίδα αντικειμένου JavaScript ()