“JavaScript…is strongly typed”.
David Boyle
11

That sounds like a quote taken out of context. Because there’s no way the whole language is “untyped”. But since JavaScript is a dynamically typed language, variables and parameters and functions are untyped. But the values they store or return most definitely have a type.

But values have types, and JavaScript recognizes them. Otherwise, how could it run different code for 1 + 2 and 1.2 + 3.4? It’s the same operator, but integer addition is a different algorithm from floating-point addition. Better yet, what about 1 + 2.3? Now + needs to recognize that the 1 needs to be turned into 1.0 before the floating-point addition is done. JavaScript recognizes a lot of data types and adjusts accordingly, and that’s strongly typed.