One of the advantages to developing Javascript and canvas is that you do not actually need to develop your game in Javascript. You can use Coffescript, GO, Hack, Dart or a dozen different languages that basically compile down to minified Javascript. You can even program in C++ using various tools like Emscription to compile your code to Javascript. Think of Javascript really as the Assembly Language for your web browser.
Javascript is a high level programming language, comparing it to assembly sounds bad. Assembly is architecture dependant, so using a portable language that compiles to it makes sense (you compile the program for different assembly languages). With JavaScript you need just one compile, JavaScript code runs on any browser on any PC. It even handles objects and "classes", so there's no real need for other languages that compile to it. I'm not saying that Coffescript or the others are useless, but there are real advantages and disadvantages of the language, there's no need to avoid it only because other tools compile to it.
I've used JavaScript for a long time and the main aspects I see are:
- It supports "Objects" but not the full OOP approach. You can't define classes in the common way, you define prototypes, but even then you can grab any object of any "class" and add or remove attributes and methods from it.
- It's event-based. Since it's intended to use in browsers it's built around asynchronous tasks, so you end up passing callback functions A LOT and instead of doing things. You can do the same in C with function pointers, but with much more work and considerations.
- It's loosely typed. You can use anything as parameters or return values for the same function.
- It works in browsers, so anything related to internet and server-client programming is simplified.
- The code is always visible. You can always see what a .js file contains, any of the common browsers have tools for it.
Note I'm not using pros and cons lists, each of those things could be considered good or bad for different programmers and different projects.