The syntax looks awful? It looks extremely clean. It cleaned up the JS syntax enormously...
// 1. [a + b] // [a + b] is an array {[a + b]: c} // [a + b] is not an array
// 2. { x, y: x, y} // inconsistent object fields
and there are more examples. After you get to know the syntax, it can be used for good -- but some decisions are making the language more complex.
As written above, I enjoy its new features
var b = {3: 4}; b[3] // [3] is not an array