Interactive interpreter variables
Breakpoints
Using setters and getters to find what changed a property
Using the console
Including a stack trace when logging - console.trace
Automatically pausing execution
Tabulating values - console.table
Elements inspector
Stepping through code
Break when a function is called