Я знаю, что можно создать множество с помощью new Set(). Это похоже на создание массивов, объектов или других типов данных через конструкторы.
Но меня интересует, есть ли для множеств специальный синтаксис литерала? Например, как квадратные скобки для массивов или фигурные для объектов.
Я пытался найти информацию об этом, но пока безуспешно. Может кто-то знает, существует ли короткая запись для создания множеств в JavaScript? Или придется всегда использовать конструктор?
на практике чаще всего хватает конструктора new Set(). но можно немного упростить создание множеств через деструктуризацию: const set = new Set([…iterable]). это удобно когда нужно быстро убрать дубликаты из массива или строки. а еще я часто использую spread оператор чтобы превратить Set обратно в массив: […mySet]. в целом множества не так часто нужны в js, обычно хватает объектов и массивов.
да, отдельного литерала для множеств нет. но можно использовать Array.from() для создания множества из массива: const mySet = new Set(Array.from(‘hello’)). это дает {‘h’,‘e’,‘l’,‘o’}. удобно для строк. а еще Set полезен для удаления дубликатов: const uniq = […new Set(arr)]. жаль что нет короткой записи, но и так норм работает
к сожалению, в javascript пока нет литерала для множеств. приходится использовать new Set() каждый раз. но есть хитрость – можно создать множество из массива одной строкой: const mySet = new Set([1, 2, 3]). это немного короче чем добавлять элементы по одному. а еще я слышал что в будущем могут добавить синтаксис #{1, 2, 3} для создания множеств. но пока это только обсуждения. так что придется пока жить с констркутором