languages/why-does-5-3-give-53-in-javascript-type-coercion-step-by-step.md
Why does "5" + 3 give "53" in JavaScript? Type coercion, step by step
Why does `"5" + 3` give `"53"` while `"5" - 3` gives `2`? It is not random. JavaScript follows a short recipe called type coercion: it decides what kind of value each side is, converts where it must, and then calculates.
Pick two values and an operator in the explorer, watch the steps, and learn to predict every strange result before you run it.

$ ls languages/
see all →
languages/why-does-0-1-0-2-give-0-30000000000000004-in-python.md
Why does 0.1 + 0.2 give 0.30000000000000004 in Python?
Type 0.1 + 0.2 into Python and you get 0.30000000000000004. It is not a bug: computers store fractions in binary, and one tenth has no…
languages/why-does-my-javascript-loop-run-one-time-too-many.md
Why does my JavaScript loop run one time too many?
A loop tells JavaScript to repeat some code until a condition says stop. A for loop packs three pieces onto one line: a setup that runs…
languages/what-a-variable-really-is-python-names-values-and-the-sign.md
What a variable really is: Python names, values and the = sign
In Python, a variable isn't a box that holds a value. It's a name tag tied to a value that lives on its own. That one picture explains why…