String equality works well when you need to compare two object references or two primitive values. But what about the cases where you want to compare something complex, such as two maps? Strict equality doesn't work here because they're two distinct references, even though their keys and values are the same. Immutable.js provides tools for performing deep collection comparisons.
Immutable.js exports an is()
function, which is used to compare two values. It can compare primitive JavaScript types using the same semantics as Object.is()
, and it can do deep comparisons between two Immutable.js collections. When you pass two collections to is()
, it will actually call the equals()
method of the first collection. This means that you can be more direct if you know that you're comparing two collection types by calling equals()
. If you don't know what you're comparing, is()
is the better choice.
Let's start by comparing some...