* JSLint / JSHint - discover syntax and style issues
* Unit testing - A good practice no matter what language you develop in, unit tests will help you make changes to your code with confidence, knowing that if any of your changes break major functionality, you'll know about it quickly.
* Chrome debugging tools - From stepping through the callstack to profiling memory, network, and painting operations, Chrome's debugging tools have got you covered.
* Trace.gl - visualize the entire code-flow execution of your program in realtime. Zoom in on specific methods, inspect variable values, explore the call-stack, all while your program is running live.