Javascript
==-vs-===

Abstract vs Strict equality

Abstract equality ==

compares for equality after doing any necessary type conversions.

Strict equality ===

compares values to check if they're the same type and if they have the same value.

General rule of thumb is to never use ==, unless you want convenience when checking if a variable is null or undefined.

1 == "1"; // true
1 == [1]; // true
1 == true; // true
0 == ""; // true
0 == "0"; // true
0 == false; // true