Compatibility: Internet Explorer 5, IE5.5, IE6, IE7, IE8, IE9, IE10, IE11. Node, NPM, Chrome. FireFox, Opera, Konqueror. It has 'close to universal' JS compatibility.
A hashset is like an unordered array of values, but it can be searched for a value exponentially faster than a the native Array.contains or Array.indexOf functions. This makes it easier to write efficient, fast code. Hassets may use marginally more memory than normal arrays, but not exponentially more so.
Hashsets are hugely popular in optimized c# and Java programming - because they allow developers a very fast way for looking up (searching) to see if a value already exists in a Hashset. It uses a dictionary like lookup - which does not get slower as the set grows in size. This is ideal for situations which we want avoid duplicate entries in an array - or check the existence of a value without a performance slowdown.
It also includes the advanced hashset functions that Java and dotNet developers expect such as : 'copyToArray', 'exceptWith', 'isSubsetOf' and 'unionWith' which make it ideal for use in lower-level / higher performance applications.