JavaScript ES 6 var VS letの違い
1594 ワード
ECMAScript 6すなわちES 6に
The let statement declares a block scope local variable、optionlyinitializing it to a value.let文は、局所変数を宣言するために使用され、作用領域はblock scopeであり、声明の中で初期化されます.
var VS letの違い
違いは宣言変数のスコープにあります. である. と同じかもしれません.どのblockの外部で である. をスローします.
Global Scropeグローバルスコープ
以下のコードには、
引用:let
let
文が導入されています.The let statement declares a block scope local variable、optionlyinitializing it to a value.let文は、局所変数を宣言するために使用され、作用領域はblock scopeであり、声明の中で初期化されます.
var VS letの違い
違いは宣言変数のスコープにあります.
var
文で宣言された変数は、機能領域がFunction Scopeメソッド作用領域let
文で宣言された変数は、スコックスコープのスコープスコープの役割領域であり、Function Scopeの範囲より小さいかもしれません.var
またはlet
を使用すれば、宣言の変数はすべて大域変数、すなわちGlobal Scope let
ステートメントの変数は、ステートメントの前にアクセスできません.そうでなければReferenceError
Global Scropeグローバルスコープ
let
ステートメントの変数は、window
オブジェクトを介してアクセスできません.var foo1 = 1;
let foo2 = 2; // foo1 foo2 Global Scope
console.log(foo1); // 1
console.log(foo2); // 2
console.log(window.foo1); // 1
console.log(window.foo2); // undefined
Function Scopeメソッドスコープfunction f() {
var foo1 = 1;
let foo2 = 2; // foo1 foo2 Function Scope
console.log(foo1); // 1
console.log(foo2); // 2
}
f();
ブロック作用領域以下のコードには、
var
とlet
ステートメント変数の違いが見られます.function f() {
var foo1 = 1; // Function Scope
{
let foo1 = 2; // Block Scope
let foo2 = 3; // Block Scope
console.log(foo1); // 2
console.log(foo2); // 3
}
console.log(foo1); // 1
console.log(foo2); // foo2 is not defined
}
f();
let foo1 = 2; let foo2 = 3;
をvar foo1 = 2; var foo2 = 3;
に置き換えると、すべてFunction Scopeになる.引用:let