DEV Community

Discussion on: 5 Reasons why javascript is hated by developers.

Collapse
 
pentacular profile image
pentacular

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. :)