이 단어들은 코드에서 무엇을 합니까? 자바스크립트에서 const, let, var

2079 단어 javascript

Javascript에서 변수 선언에 사용되는 "var", "let" 및 "const"의 동작



내 자신의 코드를 작성하는 동안 일부 선언을 엉망으로 만들었습니다.
그래도 변수를 올바르게 참조할 때도 있고 그렇지 않을 때도 있어서 무슨 일이 일어나고 있는지 살펴봤습니다.

먼저 각각의 기본 동작은 다음과 같습니다.

const



Constants are block-scoped, much like variables declared using the let keyword. The value of a constant can't be changed through reassignment (i.e. by using the assignment operator), and it can't be redeclared (i.e. through a variable declaration). However, if a constant is an object or array its properties or items can be updated or removed. (MDN)


허락하다



The let declaration declares a block-scoped local variable, optionally initializing it to a value. (MDN)


바르



The var statement declares a function-scoped or globally-scoped variable, optionally initializing it to a value.(MDN)



이제 기본적으로 "const"와 "let"을 사용합니다.
그러나 이전 코드를 이해해야 하는 경우 "var"를 사용하여 코드를 읽을 수 있습니다.
이 단어들과 다른 점은 무엇입니까?

코드를 작성하면서 알아차린 가장 이상한 차이점은 다음과 같습니다.
const.js
console.log(a);

const a = 1; //ReferenceError

let.js
console.log(a);

let a = 1; //ReferenceError

var.js
console.log(a);

var a = 1; //undefined


"var"를 사용할 때 "정의되지 않음"인 이유는 무엇입니까?
일부 코드가 실행되기 전에 var 선언이 처리되기 때문입니다.

var 선언은 두 부분으로 구성됩니다.
선언과 할당.
선언 부분은 가장 가까운 함수 또는 전역 범위로 롤업됩니다.
sample.js
var a;
console.log(a); //undefined

var a = "value";
console.log(a); //"value"


결론



const와 let만 사용했더라도 var가 어떻게 작동하는지 이해해야 합니다.

이것은 영어로 된 나의 첫 번째 기사입니다.
나는 아직 초보자입니다. (영어와 프로그래밍 모두)
고맙습니다.

좋은 웹페이지 즐겨찾기