Javascript의 변수 선언 구문 차이점(전역 변수 포함)
소개
Javascript는 변수 선언을 위한 여러 구문을 제공합니다. , var, let 및 const 키워드를 포함합니다. 이러한 구문은 동작, 범위 및 전역 개체와의 상호 작용이 다릅니다.
구문 및 동작의 차이점
1. var a = 0;
- 전역 개체의 속성이 되는 전역 변수를 선언합니다(브라우저의 창 또는 다른 플랫폼의 경우 잠재적으로 이 항목).
- 변수 바인딩은 코드가 실행되기 전에 생성되므로 전역 범위에서 액세스할 수 있습니다.
- 생성된 속성은 다음과 같습니다. 열거 가능.
1.1 let a = 0; (ES2015에서 도입됨)
- 전역 환경 내에서 전역 변수를 선언하지만 전역 개체의 속성으로 선언하지는 않습니다.
- 변수 바인딩은 코드 실행 전에 생성되며, 그러나 let 문에 도달할 때까지 변수에 액세스할 수 없습니다(시간적 데드 존).
- 변수는 다음과 같습니다. 블록 범위, var.
1.2와 달리 const a = 0; (ES2015에서 추가됨)
- let과 유사하지만 상수(불변) 변수를 선언합니다.
- 초기값을 할당해야 합니다.
- 우발적인 사고를 방지합니다. 재배치.
2. a = 0;
- 키워드를 사용하지 않고 암시적으로 전역 변수를 선언하려고 시도합니다.
- 절대 권장하지 않으며 특히 엄격 모드에서는 오류가 발생할 수 있습니다.
3. window.a = 0;
- 전역 개체에 속성을 명시적으로 할당하여 효과적으로 전역 변수를 생성합니다.
- globalThis.a = 0으로 쓸 수도 있습니다. (ES2020에 도입됨) 또는 this.a = 0; 전역 범위 내에서.
4. this.a = 0;
- window.a = 0과 유사; 하지만 이를 사용하여 전역 개체에 액세스합니다.
- 이전 버전과의 호환성을 위해 사용하거나 축소 또는 기타 최적화와 관련된 잠재적인 문제를 방지하는 데 사용할 수 있습니다.
위 내용은 Javascript 변수 선언 구문(전역 변수 포함)의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!