Set.prototype.size в JavaScript

Свойство size возвращает количество значений в коллекции Set. Оно похоже на свойство length у массива.

Синтаксис

set.size

size - это свойство, поэтому круглые скобки не нужны. Запись Set.prototype.size означает, что это свойство есть у всех объектов Set.

let technologies = new Set(['HTML', 'CSS', 'JavaScript'])

console.log(technologies.size) // 3

Повторяющиеся значения не учитываются

В Set каждое значение может быть только один раз. Поэтому повтор не увеличит size.

let tags = new Set(['HTML', 'CSS', 'CSS'])

console.log(tags.size) // 2

Размер меняется вместе с коллекцией

После добавления или удаления значения свойство size сразу покажет новое количество элементов.

let selectedIds = new Set()

selectedIds.add(10)
selectedIds.add(20)

console.log(selectedIds.size) // 2

selectedIds.delete(10)

console.log(selectedIds.size) // 1

Не путайте с length

У Set нет свойства length. Чтобы узнать количество значений, используйте size без круглых скобок.

let colors = new Set(['red', 'green'])

console.log(colors.size) // 2
console.log(colors.length) // undefined