Мне кажется, что IE11 не может передать наборы / карты веб-работнику с помощью postMessage. Структурный клон должен работать для них, согласно MDN / caniuse, поэтому что-то не так с тем, что я пропускаю ниже, или IE11 здесь не работает?
(Редактировать: забавно, фрагменты stackoverflow не работают с IE11. Проверьте это в консоли здесь https://jsfiddle.net/zt3emy6c/)
var b = new Blob(['self.onmessage=function(e){'+
'console.log(e.data.q);'+
'console.log(e.data.q.size);'+
'postMessage([e.data,new Set(),new Map([[1, "asdf"]])]);}'
], { type: 'application/javascript' });
var worker = new Worker(URL.createObjectURL(b));
worker.addEventListener('message', function(e) {
console.log('expected e.data[0].q.size to equal 1, got ' + e.data[0].q.size);
console.log('expected e.data[1].size to equal 0, got ' + e.data[1].size);
console.log('expected e.data[2].size to equal 1, got ' + e.data[2].size);
console.log('expected e.data[2].get to exist, got ' + e.data[2].get);
});
var values = new Set();
values.add('asdf');
worker.postMessage({ q: values });