The disconnect between “what seems like it should happen” and “what happens” causes you to push doors that are to be pulled, tap ads that load in the place of content, and cast null into 0 by accident in JavaScript. For more on JavaScript’s unintuitive behavior, please watch (or rewatch) wat. Much of this behavior can be explained by JavaScript’s casting. From ECMAScipt: “The ECMAScript language implicitly performs automatic type conversion as needed.