Explain equality in JavaScript

Technology CommunityCategory: JavaScriptExplain equality in JavaScript
VietMX Staff asked 3 years ago

JavaScript has both strict and type–converting comparisons:

  • Strict comparison (e.g., ===) checks for value equality without allowing coercion
  • Abstract comparison (e.g. ==) checks for value equality with coercion allowed
 let a = "42"; 
 let b = 42; 
 
 a == b; // true 
 a === b; // false 
       

Some simple equalityrules:

  • If either value (aka side) in a comparison could be the true or false value, avoid == and use ===.
  • If either value in a comparison could be of these specific values (0"", or [] — empty array), avoid == and use ===.
  • In all other cases, you’re safe to use ==. Not only is it safe, but in many cases it simplifies your code in a way that improves readability.