Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 49

Vorsicht

Оглавление

JSON.stringify verwirft Objekteigenschaften mit dem Wert undefined und wandelt Array-Elemente mit dem Wert undefined in null um. So ergibt beispielsweise JSON.stringify({ name: ['Harry', undefined, 'Smith'], age: undefined }) den String '{"name":["Harry",null,"Smith"]}'.

Manche Programmierer verwenden die Methode JSON.stringify zur Protokollierung. Betrachten Sie den folgenden Protokollierungsbefehl:

console.log(`harry=${harry}`)

Dadurch erhalten Sie nur die folgende nutzlose Meldung:

harry=[object Object]

Ein Aufruf von JSON.stringify kann hier Abhilfe schaffen:

console.log(`harry=${JSON.stringify(harry)}`)

Dieses Problem tritt jedoch nur bei Strings auf, die Objekte enthalten. Wenn Sie ein Objekt für sich selbst protokollieren, zeigt die Konsole es korrekt an. Eine einfache Alternative besteht darin, die Namen und Werte separat zu protokollieren:

console.log('harry=', harry, 'sally=', sally)

Noch einfacher ist es, sie in ein Objekt zu packen:

console.log({harry, sally}) // Protokolliert das Objekt { harry: { . . . }, sally: { . . . } }

JavaScript für Ungeduldige

Подняться наверх