자바스크립트: var, let, const

6654 단어 javascript
ES6에서는 변수를 선언하는 새로운 방법인 const와 let이 도입되었습니다. ES6 이전에는 개발자가 var를 사용하여 다른 변수를 선언했습니다. 그러나 코드에 잠재적인 문제나 암시적 버그가 발생할 수 있습니다. 이 기사에서는 const, let, var를 소개하고 명확한 비교를 제공합니다.

비교표





바르
허락하다
const


재할당
영형
영형
엑스

범위
기능 범위
블록 범위
블록 범위

선언 전 참조
영형
엑스
엑스


const



const는 변수를 재할당하지 않으려는 경우에 사용됩니다. 선언되면 일정하게 유지됩니다. 결과적으로 변수를 재할당할 필요가 없는 경우 const는 항상 기본 옵션입니다. 이렇게 하면 가끔 다른 파일에서 같은 변수 이름을 선언하는 경우도 피할 수 있습니다.

허락하다



변수를 재할당해야 하는 상황에 관해서는 ES6 이후 var보다 let이 더 좋습니다. 그 이유는 let이 블록 범위에 있기 때문입니다. 즉, 자체 범위 내에만 존재한다는 의미입니다. 예를 들어,

let foo='outside';
if(true){
    let foo = 'inside'
    console.log(foo);            //print inside

}
console.log(foo);                //print outside



if 조건 후 foo는 if 문 안에 있는 값('inside')이 아니라 'outside'와 같습니다.

바르



var는 javaScript에서 변수를 선언하는 오래된 방법이며 이제 변수를 정의하는 가장 약한 키워드입니다. var에 의해 선언된 변수는 재할당되거나 재할당되지 않을 수 있으며 함수 범위에 있기 때문에 변수는 전체 함수에 사용될 수도 있고 사용되지 않을 수도 있습니다. 변수가 for 루프(블록 범위) 내에서 실수로 재할당되면 상황이 쉽게 잘못될 수 있습니다. 이 경우 사용자는 상위 할당을 덮어쓸 수 있습니다. 예를 들어,

var foo='outside';
if(true){
    var foo = 'inside'
    console.log(foo);            //print inside

}
console.log(foo);                //print inside



명확히하기 위해 var는 함수 범위에 있습니다. 따라서 사람들이 함수에서 재할당을 수행하면 함수 외부의 변수는 변경되지 않습니다.

var foo='outside';
var fooFunction = function(){var foo='inside'}
fooFunction();
console.log(foo);    //print outside



var의 또 다른 잠재적인 문제는 할당되기 전에 참조될 수 있다는 것입니다. 예를 들어,

var x = 'foo';
console.log(x);         //foo
console.log(y);         //undefined, no errors!!
var y = 'late foo';     //late foo 
console.log(y);



선언 전에 변수를 사용할 때 오류가 없습니다. Javascript 엔진은 위의 스크립트를 다음과 같이 읽습니다.

var x;             //variable declaration
var y;             //variable declaration
x = 'foo';         //variable initialization
console.log(x);    //foo
console.log(y);    //undefined, no errors!!
y ='late foo';     //variable initialization
console.log(y);    //late foo




Javascript 엔진은 초기화가 아닌 선언만 호이스트하기 때문입니다. 사람들은 '엄격한 사용'을 사용하여 이 문제를 피할 수 있지만 const 및 let은 여전히 ​​더 강력하며 잠재적인 오류를 줄이고 코드를 더 명확하게 만들 수 있습니다.

좋은 웹페이지 즐겨찾기