據我所知,'let'用於聲明塊變量。但它不能用相同的名稱聲明兩次。例如:如何理解'for'語句中的'let'?
'use strict';
let a = 1;
let a = 2; // syntax error
那麼如何在'for'迭代中用相同的變量名來區分每個作用域呢?
'use strict';
for(let i = 0; i < 3; i++){
setTimeout(function(){
console.log(i);
});
}
// output:
// 0
// 1
// 2
劑量解釋器默默地改變變量名嗎?任何信息將不勝感激。
我不認爲是一個重複的問題。因爲我真的想問的是兩種理論之間的衝突。
我不認爲是重複的。我想知道兩個原則之間的衝突。 – JamesYin
您可以嘗試在[通天REPL(https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015%2Creact%2Cstage-0&targets=&browsers=&builtIns=false&debug=false&code_lz=GYewTgFANgpgLgAgJYILwIAwG5kIDwIDMOSA1KQJQDeAsAFAKMIDO8AKkgLYwgCucEYLwB2AYzhIQwiNXpN5CUVOYhYAOiggA5hCQUscpgF999I0A運行代碼)瞭解它是如何工作的。 –