> You also have to annotate your code with type information (a la javadoc) to take full advantage of the compiler
I consider this an upside, especially on large JavaScript products with many engineers contributing (like the ones Google builds). Having your JavaScript checked at compile time helps ensure quality code, and helps to avoid errors at run time.