IdoCleanCode
article thumbnail

자바스크립트 튜토리얼

 

자바스크립트 튜토리얼

스코프(Scope) 개념 이해와 종류 블록스코프 함수 스코프 참고자료 https://www.w3schools.com/js/default.asp https://developer.mozilla.org/ko/docs/Web/JavaScript https://www.geeksforgeeks.org/javascript/?ref=dhm https://roadmap.sh/javasc

idocleancode.tistory.com

렉시컬 스코프
렉시컬 스코프

렉시컬 스코프의 개념

  • 렉시컬 스코프, 또는 정적 스코프는 프로그래밍 언어에서 변수의 범위를 결정하는 정책입니다. 렉시컬 스코프는 변수가 코드를 작성하는 시점에, 즉 코드가 작성된 위치에 따라 그 범위가 결정되는 것을 의미합니다.

 

렉시컬 스코프의 동작 원리

  • 렉시컬 스코프는 코드가 실행되는 시점(runtime)이 아닌, 코드가 작성되는 시점(compile time)에 스코프가 결정됩니다. 즉 변수가 어디서 선언되었는지에 따라 그범위가 결정되며, 이는 코드를 작성하는 시점에 이미 결정됩니다.
    var globalVar = "I'm a global variable"; // 전역 변수
    
    function outerFunction() {
        var outerVar = "I'm an outer variable"; // outerFunction의 지역 변수
    
        function innerFunction() {
            var innerVar = "I'm an inner variable"; // innerFunction의 지역 변수
    
            // innerFunction에서는 선언된 위치에 따라 자신의 스코프와 상위 스코프, 그리고 전역 스코프의 변수에 접근이 가능하다.
            console.log(innerVar); // "I'm an inner variable"
            console.log(outerVar); // "I'm an outer variable"
            console.log(globalVar); // "I'm a global variable"
        }
    
        innerFunction();
    }
    
    outerFunction();​
     즉. 중첩된 함수 내부 함수에서 어떻게하면 전역 변수가 참조 되는 이유는 렉시컬 스코프 원리와 스코프 체인 원리 인해서 변수가 참조가 된다.

 

참고 자료

https://www.w3schools.com/js/default.asp
https://developer.mozilla.org/ko/docs/Web/JavaScript

https://www.geeksforgeeks.org/javascript/?ref=dhm
https://roadmap.sh/javascript

https://chat.openai.com/

https://wrtn.ai/

profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!