Console logging tricks¶
Meerdere objecten in één regel¶
Als je een javascript object meegeeft aan de console.log()
methode, wordt deze in de console weergegeven. Meerdere objecten zou je met meerdere
console.log()
calls kunnen weergeven:
let powerup = {p:{x:10, y:400}, s:{w:40, h:20}, image:"powerup.png"}
let player = {p:{x:100, y:300}, s:{w:45, h:30}, image:"ship.png"}
let enemy = {p:{x:10, y:30}, s:{w:40, h:50}, image:"invader1.png"}
console.log(powerup);
console.log(player);
console.log(enemy);
Dit geeft de objecten weer, maar zonder dat de naam van de variabele wordt weergegeven. |
Een betere manier is om de variabelen met behulp van computed property names. Log de losse variabelen in een object:
Dat scheelt een regel en de namen van de variabelen worden netjes meegeprint in de console:
Met één regel code staan alle objecten in de console gelogd en de namen van de properties van het object zijn voor je bepaald en worden ook weergegeven. |
Custom CSS styling¶
Wanneer je text in de console een bepaalde stijl wilt geven kan je er custom CSS stijlen aan meegeven door "%c"
in de string mee te loggen:
geeft:
De CSS code geeft een dikgedrukte rode tekst |
Tabel weergave¶
Als de objecten die je logt allemaal dezelfde eigenschappen hebben, kan je ze in een tabel weer laten geven:
Dit geeft:
De objecten worden weergegeven in een tabel. Geneste objecten (de p (osition) en de s (ize)) worden helaas niet veel duidelijker weergegeven |
Tijd loggen¶
Als je de tijd wil weten tussen twee events kan je gebruik maken van de console.time()
. Deze functie geef je een label mee zodat je weet van welk event je de verstreken tijd wilt weten. Zie het als een stopwatch:
De console.timeEnd()
stop de stopwatch.
Op de console wordt de tijd weergegeven tussen de calls naar console.time() en console.timeEnd() |
Stack trace¶
Wanneer de functie: console.trace()
wordt aangeroepen in een andere functie, verschijnt er informatie in de console over de context waarbinnen de functie is aangeroepen, de call stack.
Bijvoorbeeld:
levert:
De stack trace informatie is nu nog niet zo nuttig omdat de functie vanuit de javascript console is aangeroepen. |