В 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 они вернутся так же, как вы его определили.