> 웹 프론트엔드 > JS 튜토리얼 > Javascript 변수 선언 구문(전역 변수 포함)의 차이점은 무엇입니까?

Javascript 변수 선언 구문(전역 변수 포함)의 차이점은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-01 21:24:12
원래의
203명이 탐색했습니다.

What are the Differences in Javascript Variable Declaration Syntaxes (Including Global Variables)?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿