>웹 프론트엔드 >JS 튜토리얼 >Javascript 변수 선언 구문의 차이점과 그 의미는 무엇입니까?

Javascript 변수 선언 구문의 차이점과 그 의미는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-02 16:31:11319검색

귀하의 관련하여 옵션:What are the Differences in Javascript Variable Declaration Syntaxes and Their Implications?

1. var a = 0;

"var"로 변수를 선언하면 전역 개체의 속성으로도 존재하는 전역 변수가 생성됩니다(예: 브라우저의 "window" 또는 ES2020의 "globalThis"). . 이 속성은 식별자 바인딩이므로 "삭제"를 사용하여 제거할 수 없습니다.

2. a = 0;

주의:

이 구문은 사용하지 않는 것이 좋습니다. "var" 또는 "let" 키워드가 없으면 Javascript는 이를 암시적 전역 변수로 간주하지만 엄격 모드에서는 오류가 됩니다. 따라서 권장되는 방법은 아닙니다.

3. 창.a = 0; 또는 globalThis.a = 0;

이 구문은 전역 개체에 속성을 명시적으로 할당합니다. "var"와 달리 이러한 속성은 "delete"로 제거할 수 있습니다.

4. this.a = 0;

"this"에 할당하면 전역 속성이 생성되지만 이벤트 핸들러에서 모호성을 초래할 수 있으므로 권장되지 않습니다.

추가 ES2015 구문:

1.1 let a = 0;

"let"은 전역 개체의 속성이 아닌 전역 변수를 선언합니다. 식별자 바인딩은 둘러싸는 블록의 시작 부분에 생성되지만 코드 실행이 "let" 선언에 도달할 때만 액세스할 수 있게 됩니다.

1.2 const a = 0;

"let"과 유사하게 "const"는 전역 개체의 속성이 아닌 전역 상수를 선언합니다. 단, 상수의 값은 변경할 수 없습니다.

위 내용은 Javascript 변수 선언 구문의 차이점과 그 의미는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.