В чем разница между конструктором Set () или новым набором (с возможностью повторения) в JavaScript?

#javascript #internet-explorer

#javascript #internet-explorer

Вопрос:

Я смотрю на эту таблицу совместимости браузера здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/Set#Browser_compatibility

[Совместимость с браузером JavaScript Set][1] [1]: https://i.stack.imgur.com/9Hxdu.png

И я вижу, что для IE11 поддерживается конструктор Set (), но не новый набор (с возможностью повторения). В чем разница между этими двумя? Я думал, что new Set(iterable) был конструктором Set()?

Комментарии:

1. Похоже, что в браузере IE 11 мы не можем выполнить какое-либо действие, содержащее массив, при использовании Set. Вы можете заметить, что вы можете использовать его метод для работы с одним значением, но он выдаст ошибку, если вы попытаетесь передать ему несколько значений. Ссылка: Set

Ответ №1:

Это совместимо. Может быть, это ошибка?

введите описание изображения здесь

Ответ №2:

Вероятно, версия IE не разрешает аргумент конструктору.

Недопустимо в IE:

 const array = Array(10).fill(0).map((_, i) => i)
const set = new Set(array)
  

Допустимо в IE:

 const array = Array(10).fill(0).map((_, i) => i)
const set = new Set()
array.forEach(el => set.add(el))
  

Комментарии:

1. Это имело бы смысл. Спасибо.