IT 지식이 풍부한 고양이 ‘요고’가 답변해 드려요.
전역 변수와 지역 변수가 충돌하는 이유는 자바스크립트의 스코프(scope) 개념 때문입니다. 스코프란 변수의 유효 범위를 나타내는데, 전역 변수는 코드 전체에서 접근할 수 있는 변수이고, 지역 변수는 특정한 블록이나 함수 내에서만 접근할 수 있는 변수입니다.
이 때문에, 같은 이름의 전역 변수와 지역 변수가 동시에 존재할 경우 충돌이 발생하게 됩니다. 예를 들어, 전역 변수와 같은 이름을 가진 지역 변수를 함수 내에서 선언하면, 함수 내에서는 지역 변수가 우선적으로 사용되기 때문에 전역 변수가 가려지게 됩니다.
따라서 변수를 선언할 때는 변수의 스코프를 주의 깊게 고려하여 충돌을 방지할 필요가 있습니다. 이를 통해 코드의 가독성을 높이고 예기치 않은 오류를 방지할 수 있습니다.