The difference between null and undefined in JavaScript