JavaScript Object.freeze()

Ορισμός και χρήση

Object.freeze() Η μέθοδος χρησιμοποιείται για να αποτρέψει οποιεσδήποτε αλλαγές σε αντικείμενα.

Στην μη αυστηρή λειτουργία:Object.freeze() Η μέθοδος θα αποτύχει σιωπηρά.

Στην αυστηρή λειτουργία:Object.freeze() Η μέθοδος θα προκαλέσει TypeError.

Τα αντικείμενα που έχουν 冻ζηθεί είναι μόνο ανάγνωσης. Δεν επιτρέπεται η τροποποίηση, προσθήκη ή διαγραφή ιδιοτήτων.

Μπορεί να χρησιμοποιηθεί Object.isFrozen() Μέθοδοι για τον έλεγχο αν ένα αντικείμενο έχει 冻结.

Σχετικές μεθόδους:

Object.preventExtensions() Επιτρέπεται η τροποποίηση, αλλά εμποδίζεται η προσθήκη ιδιοτήτων.

Object.seal() Αναγνωρίζει την τροποποίηση, αλλά αποτρέπει την προσθήκη και την αφαίρεση ιδιοτήτων.

Object.freeze() Αποτρέπει την τροποποίηση, την προσθήκη και την αφαίρεση ιδιοτήτων.

Object.isExtensible() Αν το αντικείμενο είναι εκτεταμένο, τότε επιστρέφει true.

Object.isSealed() Αν το αντικείμενο είναι κλειστό, τότε επιστρέφει true.

Object.isFrozen() Αν το αντικείμενο είναι ελεγχθεί, τότε επιστρέφει true.

Παράδειγμα

Παράδειγμα 1

"use strict"
// Δημιουργία αντικειμένου
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Διαφήμιση αντικειμένου
Object.freeze(person);
// Αυτό θα προκαλέσει σφάλμα
person.age = 51;

Δοκιμάστε το προσωπικά

Παράδειγμα 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Αυτό θα προκαλέσει σφάλμα:
fruits.push("Kiwi");

Δοκιμάστε το προσωπικά

Γραμματική

Object.freeze(object)

Παράμετρος

Παράμετρος Περιγραφή
object Απαιτείται. Το αντικείμενο που πρέπει να ελεγχθεί.

Αποτελεσματική τιμή

Τύπος Περιγραφή
Object Απέλυτος αντικείμενος.

Υποστήριξη του προγράμματος περιήγησης

Object.freeze() Είναι χαρακτηριστικά του ECMAScript5 (ES5).

Από τον Ιούλιο του 2013, όλα τα σύγχρονα προγράμματα περιήγησης υποστηρίζουν πλήρως το ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
Σεπτέμβριος 2012 Σεπτέμβριος 2012 Απρίλιος 2013 Ιούλιος 2012 Ιούλιος 2013