Javascript itself has warts and they are easily overcome. I've found that the biggest hurdle for me, someone who's written native desktop applications, are the libraries are a huge hurdle. I still don't understand the obsession with MV* "design patterns," in GUI code.
It's made worse by the fact that the model we have to base our GUIs off of is a based on hierarchal documents.
Those bloated GUI libraries are part of the problem, in my opinion.
HTML is a great document definition language in the right hands but like JavaScript, its poor use can create a nightmare. You can fix this by learning to write clear and simple semantic HTML but if you have to work on legacy code that doesn't really help.
It's made worse by the fact that the model we have to base our GUIs off of is a based on hierarchal documents.