This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The size accessor property of Set instances returns the number of (unique) elements in this set.
const set = new Set();
const object = {};
set.add(42);
set.add("forty two");
set.add("forty two");
set.add(object);
console.log(set.size);
// Expected output: 3
The value of size is an integer representing how many entries the Set object has. A set accessor function for size is undefined; you cannot change this property.
const mySet = new Set();
mySet.add(1);
mySet.add(5);
mySet.add("some text");
console.log(mySet.size); // 3
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
size |
38 | 12 | 19From Firefox 13 to Firefox 18, thesize property was implemented as a Set.prototype.size() method, this has been changed to a property in later versions conform to the ECMAScript 2015 specification. |
25 | 8 | 38 | 19From Firefox for Android 14 to Firefox for Android 18, thesize property was implemented as a Set.prototype.size() method, this has been changed to a property in later versions conform to the ECMAScript 2015 specification. |
25 | 8 | 3.0 | 38 | 8 | 1.0.0 | 1.0 | 0.12.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/size