변형
var a = 11; { var a = 8; }; console.log(a);// 8 ------------------------------------------------------------------------- var a = 11; { a = 28; }; console.log(a);// 28
var로 선언된 변수는 전역 범위에 속합니다. var 변수는 블록 범위가 아니기 때문에 블록 외부에서도 액세스할 수 있습니다. 또한 블록 내부와 외부 모두에서 var 변수를 다시 선언하고 재할당할 수 있습니다.
하자
{ let a = 24; } console.log(a);// ReferenceError: a is not defined ------------------------------------------------------------------------- { let a = 24; console.log(a);// 24 } ------------------------------------------------------------------------- { let a = 24; a = 20; console.log(a);// 20 }// ------------------------------------------------------------------------- { let a = 24; let a = 20; console.log(a);//SyntaxError: Identifier 'a' has already been declared } ------------------------------------------------------------------------- let a = 20; { let a = 24; console.log(a);// 24 }
별도의 메모리 공간과 블록 범위를 갖도록 하세요. let으로 선언된 변수는 전역 범위에 속하지 않기 때문에 블록 외부에서 접근할 수 없습니다. let 변수를 재할당할 수 있습니다. 다만, 같은 블록 내에서는 같은 변수를 재선언할 수 없고, 다른 블록에서 재선언할 수는 있습니다.
상수
{ const x = 4; } console.log(x);//ReferenceError: x is not defined ------------------------------------------------------------------------- { const x = 4; console.log(x) ;// 4 } ------------------------------------------------------------------------- { const x = 4; const x = 2; } console.log(x);//SyntaxError: Identifier 'x' has already been declared ------------------------------------------------------------------------- { const x = 4; } const x = 2; console.log(x);// 2 ------------------------------------------------------------------------- const x = 2;// we can access the global(x) { const x = 4; // we cannot access the outside block } console.log(x);// 2
const는 별도의 메모리 공간을 가지며 블록 범위입니다. const로 값을 선언하고 초기화한 후에는 다시 선언하거나 재할당할 수 없습니다. 전역 범위에 있지 않기 때문에 블록 외부의 const 변수에 액세스할 수 없습니다. 같은 블록 내에서는 변수를 재선언할 수 없고, 블록 외부에서는 재선언할 수 있습니다.
위 내용은 Var 대 Let 대 Const의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!