I think the features mentioned (getters, proxies, et al) are great features for certain projects in any language. Of course they are also usable for evil shit (evil being everything in the spectrum of misguided to malicious).<p>I'm not even trying to defend javascript, just that saying "you can run sudo rm -rf / in your shell" doesn't mean the shell is "evil".