2017-09-07 13 views

答えて

1

主な理由は下位互換性です。それ以外は、私は見ることができません。だから、あなたが実際にはvarを使用するポイントがない場合は、transpilerを使用している。グローバル変数が必要な場合を除き、それは悪です。

+0

また、それは反対ですが、グローバルが必要な場合は 'window.myVar'と書くことをおすすめします。そのように見逃すのは難しいです。 –

+1

@SamR誰もがブラウザでJSを使用しているわけではなく、そこにも常に「ウィンドウ」はありません。 – Bergi

+0

@Bergiそれは本当です。私はクライアント側に集中する傾向があります。どんな環境でも 'let'を使ってグローバルを作成することができます。したがって、' var'は必要ありません。 –

3

下位互換性(ES5の書き込み/保守)またはコードの不正な作成/維持が可能です。

varのように、letまたはconstと異なり、同じ範囲で複数回変数を再定義できます。特にあなたがすでに混乱していたものをリファクタリングする場合は、ちょっと待ってからvarを使ってください。

複数のforループでiを再定義するコードがたくさんあります.1つのインスタンスをletに置き換えるとエラーが発生します。

これはlintingツールが長年にわたり捕らえてきたものですが、そこにあるスケッチのないコードがすべてなくなったというわけではありません。

関連する問題