>  기사  >  웹 프론트엔드  >  JavaScript에서 \"var\"을 생략하면 예기치 않은 전역 변수 및 오류가 발생하는 이유는 무엇입니까?

JavaScript에서 \"var\"을 생략하면 예기치 않은 전역 변수 및 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-03 09:25:29862검색

Why Does Omitting

전역 변수 선언의 위험

JavaScript 영역에서 개발자는 "암시적 전역 변수의 공포"로 알려진 함정에 대해 오랫동안 경고를 받아왔습니다. 이는 "var" 키워드 없이 변수를 선언할 때 발생합니다.

일반적인 믿음과는 달리 "var"를 생략해도 성능에 큰 이점이 없습니다. 대신 전역 변수를 생성하므로 의도하지 않은 변수 누출 및 페이지의 다른 스크립트와의 충돌 가능성이 있습니다.

이 문제를 설명하려면 다음 함수를 고려하세요.

<code class="javascript">function foo() {
    variable1 = 5;
    varaible2 = 6;
    return variable1 + variable2;
}</code>

"varaible2" 선언의 오타로 인해 함수는 예상 값인 11 대신 NaN을 반환합니다. 또한 "varaible2"라는 전역 변수가 실수로 생성되어 함수 외부에서 액세스할 수 있습니다.

<code class="javascript">console.log(foo());     // NaN
console.log(varaible2); // 6?!?!?!</code>

이러한 예상치 못한 동작으로 인해 코드에서 혼란스럽고 디버그하기 어려운 오류가 발생할 수 있습니다. 이러한 함정을 피하려면 함수 내부와 외부 모두에서 변수를 선언할 때 항상 "var" 키워드를 사용하는 것이 중요합니다.

위 내용은 JavaScript에서 \"var\"을 생략하면 예기치 않은 전역 변수 및 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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