
What is the difference between “==” and “===”?
The fundamental difference between the == and === operators in JavaScript is that the == operator compares the operand’s types before comparing them, whereas the === operator compares the operand’s values as well as their data type.
Double Equals for Equality
== operator is used for comparison between two variables irrespective of their data type.
Triple Equals for Identity
=== operator is used for comparison between two variables but this will have a strict type check, which means it will check data type and compare both the values of the variables.
Test Cases
Double Equals:
var num1 = 5; var num2 = 5; console.log(num1 == num2); //true
Triple Equals var num1 = 5; var num2 = 5; console.log(num1 === num2); //true
Double Equals
var num1 = 5; var num2 = 5.0; console.log(num1 == num2); //true
Triple Equals
var num1 = 5; var num2 = 5.0; console.log(num1 === num2); //true
Double Equals
var num1 = "5"; var num2 = "5.0"; console.log(num1 == num2); //false Because "5" is string
Triple Equals
var num1 = "5"; var num2 = "5.0"; console.log(num1 === num2); //false Because "5" is string
Double Equals
var num1 = []; var num2 = []; console.log(num1 == num2); //false Because comparing arrays
Triple Equals
var num1 = []; var num2 = []; console.log(num1 === num2); //false Because comparing arrays
Double Equals
var num1 = {}; var num2 = {}; console.log(num1 == num2); //false Because comparing object
Triple Equals
var num1 = {}; var num2 = {}; console.log(num1 === num2); //false Because comparing object
JavaScript Code:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>Difference between Double & Triple Equal</title> </head> <body> <script> var num1 = 5; var num2 = 5; console.log(num1 == num2); //true var num1 = 5; var num2 = 5.0; console.log(num1 === num2); //true var num1 = "5"; var num2 = "5.0"; console.log(num1 === num2); //false Because "5" is string var num1 = []; var num2 = []; console.log(num1 === num2); //false Because comparing arrays var num1 = {}; var num2 = {}; console.log(num1 === num2); //false Because comparing object </script> </body> </html>
Share: