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?