Assigning Operator (=)
It assigns the value to the variable.
const firstName = 'Prashant';
const favNumber = 13;
Loose Equality Operator (==)
This operator compares two values & return true if they are equivalent or false if they are not.
function equality(value) {
if(value == 13) {
return 'Equal';
}
return 'Not Equal';
}
In addition, it also compares two different data types (numbers & strings).
It is called as Type Coercion.
1 == '1' /* This will return true with the Loose Equality Operator. */
Strict Equality Operator (===)
Unlike the Equality Operator, it does not compare two different data types.
Otherwise, it works similarly to Loose Equality Operator.
1 === '1' /* This will return false in case of the Strict Equality Operator. */
More Examples
var favBook = 'Sapiens'; /* Assigns the value to the variable */
const 13 == '13'; /* It will perform a type conversion and it will return true. */
const 13 ==='13' /* It will not perform type conversion. Hence, it will return false. */
A tip by
[Deleted User]
[Deleted User]
Ideally, you should always use ===
and !==
, and never use ==
, and !=
.
Or to make it easy to use what can you do is configure your linter to always use ===
and !==
in code editor.
The loose equality has too many pitfalls that are covered by the strict one.
Top comments (1)
Thanks for sharing this great tip Luke. Adding this into article!