Hacker News new | past | comments | ask | show | jobs | submit login

  Property Maps

  var emptyMap = {};

In JavaScript, these are called Objects. I don't think it's right for them to be called "property maps" in a tutorial like this.

The heading called "Objects" should be renamed something like "Constructors" too.

Also, using

  for (var i in array)
is not the preferred way of iterating over an array (the for construct does not guarantee ordering).



for...in loops also have the drawback of iterating over inherited properties. eg if I extended the prototype of Array with some method, then for...in would iterate over that method too.

traditional for loops incrementing until length is reached are preferable for arrays (personal style: for(var i=0,l=array.length ; i<l ; i++))

For objects, for...in with a hasOwnProperty check is preferred, I think (if you're going to be iterating over objects that is, which usually means you're using an object as a textually-indexed array, which isn't that great).

Over all a nice introduction though.


  using an object as a textually-indexed array,
  which isn't that great
Using it as a hash table is just fine.


Yes, my problem was with people then wanting to iterate over said hashmap, not with using it as a hashmap in the first place. I could have worded that better, thanks.

I mean if you're going to want to iterate over it, you should probably be using an array instead.


The whole page disqualified itself instantly, not a single note about `hasOwnProperty` on the whole page :(




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: