Those operators accept two values and return a boolean:
-
==
checks for equality -
!=
checks for inequality -
===
checks for strict equality -
!==
checks for strict inequality
Letβs talk what we mean for strict. Without the strict check, the second operand is converted to the type of the first before making the comparison. Strict prevents this.
Examples:
const a = true
a == true //true
a === true //true
1 == 1 //true
1 == '1' //true
1 === 1 //true
1 === '1' //false
You cannot check objects for equality: two objects are never equal to each other. The only case when a check might be true is if two variables reference the same object.
Some peculiarities to be aware: NaN
is always different from NaN
.
NaN == NaN //false
null
and undefined
values are equal if compared in non-strict mode:
null == undefined //true
null === undefined //false
Top comments (4)
How did you "Originally published at" in the post title? :o
I think dev.to does it automatically when you set the canonical meta tag!
As @flavio said it's the "canonical url" that does the job.
For more info, check out "Front Matter -> canonical_url" in the Editor Guide.
That's really interesting! Thank you for pointing that out. It will definitely help me out... Just starting to learn JavaScript.