Consider the following code:
var hash = { 'foo': 'foo!' }
console.log('foo' in hash); // 'true'
What is actually going on behind the scenes when 'foo' in hash
is evaluated? Is a hash-table data structure being used, with a hash function being used to address the data 'buckets' (i.e. the properties in the object hash
)?