Is JavaScript statically or dynamically typed?
Dynamically and weakly typed. Types are checked at runtime, not compile time, and the engine coerces values automatically when types mismatch.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in JavaScript Is Weakly Typed: What That Means
Variables can hold any type and change types at runtime. The engine coerces values automatically when types do not match, which can lead to unexpected results like 1 + '2' = '12'.
Because the + operator favors string concatenation. When one operand is a string, the other is coerced to a string, so 1 becomes '1' and the result is '12'.
== coerces operands to a common type before comparing, so '0' == 0 is true. === checks both type and value without coercion, so '0' === 0 is false. Always prefer ===.
Still have questions?
Browse all our FAQs or reach out to our support team
