2016-01-02 19 views
7

Możemy użyć let oświadczenia w for pętle, z wieloma zadaniami zmiennych, na przykład:Temporal martwa strefa wpuścić do pętli

for (let x = 0, y = 0; x < 10; ++ x); 

Jednak zaczynam się rozbieżności w implementacjach, jeśli odwołać jedną zmienną z inne; następujące wyniki w kod działa w Chrome, ale ReferenceError Firefox:

for (let x = 0, y = x; x < 10; ++ x); 

Firefox nie wydaje się przypisać x do y mocy po cały wyraz został przetworzony, podczas gdy Chrome robi to natychmiast. Należy pamiętać, że następujące prace w obu przeglądarkach (tej samej instrukcji zewnątrz z for bloku):

let x = 0, y = x; // x = 0, y = 0 

Wydaje się, że realizacja Firefoksa jest nieprawidłowe (zwłaszcza po rozpatrzeniu sprawy na zewnątrz bloku for), ale to, co robi Specyfikacja ES6 mówi o tym? Czy jest to coś, co musi być (lub już zostało) zgłoszone?

Odpowiedz