ループで新しい変数をどこで宣言すればよいですか?ES6でループの前に変数を宣言する
A:
const map = new Map(Object.entries(columns));
let cols;
for (let [key, value] of map)
{
cols = value.split('|');
//...
}
B:
const map = new Map(Object.entries(columns));
for (let [key, value] of map)
{
let cols = value.split('|');
//...
}
C:おそらく
const map = new Map(Object.entries(columns));
var cols;
for (let [key, value] of map)
{
cols = value.split('|');
//...
}
またはBの人はLETが新しいVARであると言いますが、間に違いがありますので、 AとB?
編集:
可変列は内部でのみ使用されます。変数がループ内で初期化されている場合(たとえば100回)に問題があるかどうか疑問に思っていました。だから私はループの外で初期化する必要がありますかと思った。 (A又はBの一例)
The purpose is not to get access outside loop, but prevent (for example) 100 initialization variable cols inside loop (because let is used inside loop - case B).
これは、例Bの場合、常に最も狭い範囲を使用する必要があります。 – ftor
「誰もが新しいvar *です」と言います。 – Bergi
"ループ内の100個の初期化変数の列を防ぐ* *" - これはコンパイラのジョブです。あなたはそれをする必要はありませんし、してはいけません。 – Bergi