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