Far less painful than I'd imagined, it's a very powerful language. The annoying part is trying to get it to work client-side across various browsers - the core language is really nice, and you can do very perlish evil things with objects and functions.
I'd like to test my evil: jsunit looks good, but I find the xUnit tools a bit OTT. I'd rather use something like Perl's test harness. Though it's now been named (TAP), I can't find the resources on it, not helped by the ungoogleability of "TAP". Anyone already written a javascript library for this?