„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > `console.log` zeigt den Grund für die modifizierte Objektwertausnahme an

`console.log` zeigt den Grund für die modifizierte Objektwertausnahme an

Gepostet am 2025-04-15
Durchsuche:965

Why Does `console.log` Show Unexpected Object Values After Modification?

objekte und console.log: Eine Kuriosität enträtselte

Wenn Sie mit Objekten und Console.log arbeiten, können Sie ein merkwürdiges Verhalten aufnehmen. Lassen Sie uns dieses Geheimnis entwirren, indem wir diesen Code -Snippet analysieren:

foo = [{id: 1},{id: 2},{id: 3},{id: 4}, {id: 5}, ];
console.log('foo1', foo, foo.length);
foo.splice(2, 1);
console.log('foo2', foo, foo.length);

In Chrome erzeugt dies die unerwartete Ausgabe:

foo1 
[Object, Object, Object, Object, Object]  5
    0: Object
    1: Object
    2: Object
    3: Object
    length: 4
    __proto__: Array[0]
     5 (index):23
foo2 
[Object, Object, Object, Object]  4
    0: Object
    1: Object
    2: Object
    3: Object
    length: 4
    __proto__: Array[0]

Die asynchrone Prüfung

Der Schlüssel zum Verständnis dieses Verhaltens liegt in der asynchronen Natur der Objektuntersuchung über Console.log. Während die Konsole einen Verweis auf das Objekt synchron empfängt, zeigt sie ihre Eigenschaften erst an, bis Sie sie manuell erweitern. Dies geschieht asynchron und führt zur scheinbar unlogischen Ausgabe.

Debugging -Techniken

, um diese Inkonsistenz zu vermeiden, betrachten Sie diese Debugging -Techniken:

individuelle Werte:

das Objekt. console.log (obj.foo, obj.bar, obj.baz);)

    json codieren:
  • das Objekt in einen Zeichenfolge verwechselt. JSON CODING (z. B. Console.log (json.parse (json.stringify (obj)));)
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3