2. lots of devs already know the javascript API very well.. a lot of times these same devs write server backends. why not share code between client and server?
3. (maybe just me) it turns out writing in a language as dynamic and flexible as javascript is pretty fun