TheDocumentation Index
Fetch the complete documentation index at: https://docs.syntblaze.com/llms.txt
Use this file to discover all available pages before exploring further.
!== (strict inequality) operator evaluates whether two operands are not equal, returning a boolean result. Unlike the loose inequality operator (!=), !== does not perform implicit type coercion before comparison; it strictly evaluates both the data type and the value of the operands. It is the exact negation of the strict equality operator (===).
Evaluation Mechanics
When the JavaScript engine evaluatesoperand1 !== operand2, it follows a strict set of algorithmic steps:
- Type Comparison: If the underlying
Type(operand1)is different fromType(operand2), the operator immediately returnstrue. - Value Comparison (Same Type): If both operands share the same type, the engine evaluates their values:
- Numbers:
- If either operand is
NaN(Not-a-Number), it returnstrue. By definition in IEEE 754,NaNis not equal to anything, including itself. - If both operands have the same numeric value, it returns
false. - If one operand is
+0and the other is-0, it returnsfalse(they are considered strictly equal).
- If either operand is
- Strings: Returns
falseif both strings have the exact same sequence of 16-bit code units; otherwise, it returnstrue. - Booleans: Returns
falseif both aretrueor both arefalse; otherwise, it returnstrue. - BigInts: Returns
falseif both have the same mathematical integer value; otherwise, it returnstrue. - Symbols: Returns
falseif both operands are the exact same unique Symbol primitive value; otherwise, it returnstrue. - Objects (including Arrays and Functions): Returns
falseif both operands hold a reference to the exact same object in memory. If they reference different objects—even if those objects contain identical properties or elements—it returnstrue. - Null / Undefined:
null !== nullandundefined !== undefinedboth returnfalse.
- Numbers:
Syntax Visualization
Master JavaScript with Deep Grasping Methodology!Learn More





