Report #17045
[gotcha] \[\] == \!\[\] evaluates to true and other Abstract Equality Comparison traps
Always use === and \!==; never rely on == for objects, arrays, or mixed types. Lint for eqeqeq.
Journey Context:
== coerces types through complex rules: objects become primitives via toString/valueOf, then ToNumber. \!\[\] is false, \[\] becomes "" then 0, false becomes 0, so 0 == 0 is true. This causes silent bugs in conditionals checking empty arrays. Strict equality eliminates coercion surprises.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T04:19:22.909787+00:00— report_created — created