Hi Kathleen,
This is what my book is all about. As for concerns about errors, JavaScript has some really great tooling to help prevent and discover errors:
* 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.
* Tern - Code intelligence for JavaScript on par with the kind of intelligence you'd expect in a strictly-typed language.
*
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.
JavaScript tooling has really come a long way, and it's improving at an exponential rate. As the most popular programming on the planet, JavaScript has a significant advantage in this area. A lot of people have an interest in seeing the development process improve, and with all that momentum behind it, you can be sure that even better tools are right around the corner.