ECMAScript 6 has it
Spec: http://www.ecma-international.org/ecma-262/6.0/#sec-set-constructor
Usage: https://github.com/lukehoban/es6features#map–set–weakmap–weakset
Example:
var s = new Set()
s.add("hello").add("goodbye").add("hello")
s.size === 2
s.has("hello") === true
A module that implements it for browsers without support: https://github.com/medikoo/es6-set