2016-04-21 2 views
1

Как сделать слабый набор или слабую карту «Iterable» в ES6, так что я могу использовать для цикла:Как сделать слабый набор или слабую карту, итерабельную в ES6?

for(item in weakMap){console.log(item); } 
+0

Что случилось с [ 'для ... of'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of) – Tushar

+0

Если вы хотите использовать 'for ... in', используйте Object. – Tushar

+1

слабая карта/набор не являются итерабельными –

ответ

2

не содержимое WeakMap не доступны по дизайну, и нет итерабельность.

Ключевым свойством Weak Maps является невозможность перечислить их ключи. Это необходимо для предотвращения того, чтобы злоумышленники наблюдали за внутренним поведением других систем в среде, которые имеют слабые объекты. Если число или имена элементов в коллекции должны быть обнаружены из API, даже если значения не указаны, экземпляры WeakMap могут создать боковой канал, где ранее не было.

Source

Смежные вопросы