Why does the following code work?
var x = []
x[function() {}] = "Hi"
/* prints "Hi" */
console.log(x[function() {}])
Edit
I know that everything get's converted to a string-property, but why can I add x["function() {}"] = "Yo"
then and have both properties?