>  기사  >  웹 프론트엔드  >  변수 섀도잉(Variable Shadowing)이란 무엇이며 JavaScript의 변수 범위에 어떤 영향을 줍니까?

변수 섀도잉(Variable Shadowing)이란 무엇이며 JavaScript의 변수 범위에 어떤 영향을 줍니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-24 09:59:29288검색

What is Variable Shadowing and How Does It Affect Variable Scope in JavaScript?

JavaScript의 변수 섀도잉 예

JavaScript 영역에서는 변수 섀도잉이 기본 개념으로 등장합니다. 본질을 파악하기 위해 예시를 살펴보겠습니다.

예시 시나리오:

다음 코드 조각을 고려하세요.

<code class="js">var currencySymbol = "$";

function showMoney(amount) {
  var currencySymbol = "€";
  console.log(currencySymbol + amount);
}

showMoney("100");</code>

설명:

이 예에서는 통화 기호 변수의 두 가지 버전이 있습니다. 전역 변수인currencySymbol은 "$" 값으로 초기화되고, 같은 이름의 로컬 변수는 showMoney() 함수 내에서 선언되고 "€" 값이 지정됩니다.

showMoney() 함수가 다음과 같은 경우 호출되면 로컬 통화 기호 변수가 존재하게 되고 동일한 이름의 전역 변수를 숨깁니다. 함수 범위 내에서currencySymbol에 대한 모든 참조는 지역 변수를 참조합니다.

따라서 console.log(currencySymbol amount); 실행되면 출력은 "$100"이 아니라 "€100"이 됩니다. 이는 함수 범위 내에서 로컬 통화 기호 변수가 전역 변수보다 우선하기 때문입니다.

결론:

이 동작은 JavaScript의 변수 섀도잉을 예시합니다. 외부 범위에서 동일한 이름을 가진 변수를 마스킹할 수 있습니다. 이 개념을 이해하면 변수 범위와 JavaScript 코드 실행의 복잡성을 더 깊이 이해할 수 있습니다.

위 내용은 변수 섀도잉(Variable Shadowing)이란 무엇이며 JavaScript의 변수 범위에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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