Einführung
In diesem Lab werden wir lernen, wie man in JavaScript überprüft, ob ein Objekt tief eingefroren ist. Das Lab wird uns durch eine rekursive Funktion führen, die Object.isFrozen() verwendet, um zu bestimmen, ob ein Objekt eingefroren ist, und Object.keys() zusammen mit Array.prototype.every() verwendet, um alle Schlüssel auf Tiefeinfrierung zu überprüfen. Am Ende dieses Labs werden wir ein besseres Verständnis dafür haben, wie man den Tiefeinfrierstatus eines Objekts in JavaScript bestimmt.
Wie man überprüft, ob ein Objekt tief eingefroren ist
Um zu überprüfen, ob ein Objekt tief eingefroren ist, folgen Sie diesen Schritten in JavaScript:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie Rekursion, um zu überprüfen, ob alle Eigenschaften des Objekts tief eingefroren sind.
- Verwenden Sie
Object.isFrozen()auf dem angegebenen Objekt, um zu überprüfen, ob es oberflächlich eingefroren ist. - Verwenden Sie
Object.keys(), um alle Eigenschaften des Objekts zu erhalten, undArray.prototype.every(), um zu überprüfen, dass alle Schlüssel entweder tief eingefrorene Objekte oder nicht-Objektwerte sind.
Hier ist ein Beispielcodeausschnitt, um zu überprüfen, ob ein Objekt tief eingefroren ist:
const isDeepFrozen = (obj) =>
Object.isFrozen(obj) &&
Object.keys(obj).every(
(prop) => typeof obj[prop] !== "object" || isDeepFrozen(obj[prop])
);
Sie können die isDeepFrozen-Funktion verwenden, um zu überprüfen, ob ein Objekt tief eingefroren ist, wie folgt:
const x = Object.freeze({ a: 1 });
const y = Object.freeze({ b: { c: 2 } });
isDeepFrozen(x); // true
isDeepFrozen(y); // false
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Überprüfen, ob ein Objekt tief eingefroren ist" abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.