JS: Set Object

By Xah Lee. Date: . Last updated: .

New in ES2015.

See also: JS: the Set Object Tutorial

Set is the value of the property key "Set" of the global object. [JS: the Global Object]

console.log( window.Set === Set ); // true

Type

Set is a function.

[see JS: Value Types]

console.log ( typeof Set === "function" ); // true

Parent

Parent of Set is Function.prototype. [see JS: Prototype and Inheritance]

console.log ( Reflect.getPrototypeOf ( Set ) === Function.prototype ); // true

Purpose

Purpose of Set is:

  1. To create instance of “set” objects.
  2. Used as a namespace to hold general purpose methods for working with “set” objects.
  3. Holds the property key "prototype". The value of Set.prototype is the parent object of all “set” instances.

“Set” objects are collections of values.

[see JS: the Set Object Tutorial]

How Set Determines Uniqueness

The equality test used for determining whether 2 values in a set is the same as ===, except treatment of NaN (not a number).

NaN === NaN return false, but for set object, NaN is considered same as any NaN.

// equality test used for determining whether 2 values in the set is the same as ===, except treatment of NaN

// this is false
console.log(NaN === NaN); // false

// but for set object, NaN is same as any NaN
const s = new Set([NaN, NaN]);
console.log(s); // Set { NaN }

Set Constructor

JS: Set Constructor

Properties

JS Set

  1. Set Tutorial
  2. Union, Intersection, Difference

Like it? Help me by telling your friends. Or, Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials