2017-02-12 13 views
0

Это похоже на проблему с циклом ECMAScript 6 «for-of» в Microsoft Edge. В самом деле, когда я петля с [ключом, значение] пары, Краем возвращает эту ошибку: SCRIPT1010: ожидаемый идентификаторECMAScript 6 цикл «for-of» в Microsoft Edge

Например, при коде ниже:

var myMap = new Map(); 
 
myMap.set(0, 'zero'); 
 
myMap.set(1, 'one'); 
 
    
 
for (var [key, value] of myMap.entries()) { 
 
    console.log(key + ' = ' + value); 
 
}

Части коды от https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Iterating_Maps_with_for..of

И я использую Edge 25.10586.0.0 для его проверки.

Любая идея?

+9

первую очередь, какая версия края вы используете? – havenchyk

+1

wait, что такое myMap?) – havenchyk

+0

Кажется, что в Microsoft Edge работает нормально 38.14393.0.0: https://jsfiddle.net/jfriend00/cu1gfgy6/ – jfriend00

ответ

0

Я обнаружил, что пара [ключ, значение] в цикле возвращает ошибку в старой версии Microsoft Edge (< = 25.10586). Необходимо использовать массив вместо так:

var myMap = new Map(); 
 
myMap.set(0, 'zero'); 
 
myMap.set(1, 'one'); 
 

 
for(var pair of myMap.entries()) { 
 
    console.log(pair[0]+ ', '+ pair[1]); 
 
}

+0

Он отлично работает в Microsoft Edge 38.14393.0.0, как показывает мой jsFiddle (опубликовано 16 часов назад). Итак, либо вы делаете что-то другое в своем прочитанном коде, либо у вас есть более старая версия Edge. Это не общая проблема Edge или ES6. – jfriend00

+0

Да, похоже, это действительно проблема с моей версией Edge (25.10586.0.0) –