Javascript is a loosely typed language, but what does it mean? It means that you don't have to declare the type of a variable while defining it.
Not needing to declare the type of a variable doesn't mean it's loosely typed.
It means that it is not manifestly typed.
This can also be true of strongly typed systems with type inference.
Reason 2. Concept of "==" && "===".
The difference here is that == involves implicit conversions, and === does not.
Reason 3. Functions can call themselves (IIFEs)
An IIFE does not call itself.
The function is an expression which can be used in a function call.
The call is from outside the function.
Reason 4. Adding two variables of different data type
Implicit conversions again.
Reason 5. Javascript performs differently for different browsers.
Different implementations of languages generally have different performance characteristics.
This is not a meaningful reason. :)
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Not needing to declare the type of a variable doesn't mean it's loosely typed.
It means that it is not manifestly typed.
This can also be true of strongly typed systems with type inference.
The difference here is that == involves implicit conversions, and === does not.
An IIFE does not call itself.
The function is an expression which can be used in a function call.
The call is from outside the function.
Implicit conversions again.
Different implementations of languages generally have different performance characteristics.
This is not a meaningful reason. :)