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