В Firebug, jsconsole.com или в другой интерактивной консоли Javascript будет отображаться следующее:
>>> foo = { a : 1, b : 2.2 }
Object { a=1, more...}
>>> foo.a
1
>>> foo.b
2.2
>>> { a : 1, b : 2.2 }
SyntaxError: invalid label { message="invalid label", more...}
>>> { a : 1 }
1
почему возвращается 1
для {a: 1}
и почему {a: 1, b: 2.2}
выдает ошибку? В Ruby они вернутся в том виде, в каком вы его определили.