I came across this interesting code snippet in the underscore.js documentation within the _.isEqual section. I'm curious, why does it produce this result?
var moe = {name: 'moe', luckyNumbers: [13, 27, 34]};
var clone = {name: 'moe', luckyNumbers: [13, 27, 34]};
moe == clone;
=> false
Could it be due to the fact that strings and numbers are not considered objects and can be compared directly, whereas Arrays or Object Literals, which are Objects, cannot?