Comparison Operators
Comparison operators are used to compare the values two operands. Some comparison operators will also compare the operands' data types.
Equality Operators
JavaScript has strict (===
) and type-converting (==
) equality operators. In the latter, JavaScript will automatic convert the operands to be of the same type, before comparing the values, thus ignoring the operands' original data type. With strict comparison, the operands values and data types must both match in order for them to be equal.
console.log(1 == 1) // true
console.log('1' == 1) // true
console.log(1 === 1) // true
console.log('1' === 1) // false
console.log(0 == false) // true
console.log(null == undefined) // true
console.log(0 === false) // false
console.log(null === undefined) // false
JavaScript also has strict (!==
) and type-converting (!=
) inequality operators.
console.log(1 != 2) // true
console.log(1 != '1') // false
console.log(1 !== 2) // true
console.log(1 !== '1') // true
console.log(1 != true) // false
console.log(0 != false) // false
console.log(1 !== true) // true
console.log(0 !== false) // true
NOTE
In almost all cases, it is best use the strict equality operators.
Relational Operators
Relational operators will compare the two operands in comparison with each other. These comparison include the greater than (>
), greater than or equal to (>=
), less than (<
), and less than or equal to (<=
) operators.
NOTE
Relational operators can be used with strings. String are compared based on their unicode values.
Greater Than
The greater than operator (>
) will return true
if the left operand is greater than the right operand.
console.log(4 > 3) // true
console.log(3 > 4) // false
console.log(3 > 3) // false
console.log('banana' > 'apple') // true
console.log('Banana' > 'apple') // false
// In unicode uppercase letters come before lowercase letters
Greater Than or Equal To
The greater than or equal to operator (>=
) will return true
if the left operand is greater than or equal to the right operand.
console.log(4 >= 3) // true
console.log(3 >= 4) // false
console.log(3 >= 3) // true
Less Than
The less than operator (<
) will return true
if the left operand is less than the right operand.
console.log(3 < 4) // true
console.log(4 < 3) // false
console.log(3 < 3) // false
console.log('apple' < 'banana') // true
console.log('apple' < 'Banana') // false
// In unicode uppercase letters come before lowercase letters
Less Than or Equal To
The less than or equal to operator (<=
) will return true
if the left operand is less than or equal to the right operand.
console.log(3 <= 4) // true
console.log(4 <= 3) // false
console.log(3 <= 3) // true