Hacker News new | past | comments | ask | show | jobs | submit | Cardinal's comments login

It has to be Java Concurrency in Practice. Even though it has Java in its name I think every programmer should read this.

Other books I absolutely loved are Effective Java 2 and Programming Interviews Exposed. I'm waiting for Amazon to ship me the second edition of the latter.

Hackers and Painters is a classic I default to whenever I'm looking for inspiration.


I have a Java background and I don't really use JavaScript, but I'd like to understand something :

var man = fromPrototype(person, { sex: "male" });

After this code runs, we have a reference to a function (man) inside which we declare an object (newObject) for which we define the new property (sex). That means we can now call newObject.sex

But later he's calling that property on the function itself : jeremy.sex

How is this possible?


His example has an error. He forgot to return newObject at the end of the fromPrototype function. The fromPrototype function returns an instance (an object) that inherits from the given prototype and with the same properties you passed in with the object.


Thanks.


It seems that fromPrototype is missing a line:

  return newObject;
'man' and 'jeremy' are objects, not functions.


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

Search: