자바스크립트: var, let, const
6654 단어 javascript
비교표
바르
허락하다
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은 여전히 더 강력하며 잠재적인 오류를 줄이고 코드를 더 명확하게 만들 수 있습니다.
Reference
이 문제에 관하여(자바스크립트: var, let, const), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mingt/javascript-var-let-const-41he텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)