sue
  • Syntax Parsers, Execution Contexts, and Lexical Environments
    2020년 07월 29일 20시 39분 03초에 업로드 된 글입니다.
    작성자: sue24

    Syntax Parsers

     

    내가 짠 코드를 읽고

    1. 코드가 하는 일이 무엇인지

    2. 유효한 문법으로 짜인 코드인지를 판단한다.

           

    컴파일러나 인터프리터가 컴퓨터가 이해할 수 있는 언어로 바꿔주는 것 역시 이 작업.

            

    Lexical Environments

    function makeAFunction() {
    	var basicVar = 'Hello World!';
    }

    내가 짠 함수가 코드의 어느 부분에 물리적으로 존재하느냐가

    해당 함수의 렉시컬 환경을 정한다.

     

    위의 코드에서 basicVar는 makeAFunction이라는 함수 안에 존재한다.

     

    내가 짠 코드가 컴퓨터로 넘어갈 때는

    이 모습 그대로가 아니라 컴퓨터가 알아볼 수 있는 형태로 변환이 된다.

    프로그래밍 언어에서 렉시컬 환경이 중요한 이유는

    렉시컬 환경이

    1. 해당 코드가 컴퓨터 메모리의 어디에 자리 잡을지

    2. 프로그램의 다른 변수나 함수, 요소들과 어떻게 상호작용할지

    알려 줄 수 있기 때문이다.

     

    따라서 코드 안의 어떤 부분의 렉시컬 환경이라고 하면

    그 부분이 어디에 쓰여 있고

    무엇으로 감싸 져 있는지를 말한다.

     

    Execution Contexts

    현재 동작하고 있는 코드가 잘 돌아갈 수 있게 도와주는 wrapper.

     

    내가 쓴 자바스크립트 코드가 컴퓨터 언어로 번역돼서 처리될 때 어떻게 실행이 되는 걸까?

    내 코드가 컴퓨터 언어로 변환해주는 것도 어떤 프로그래머가 짠 프로그램이다.

    어떤 코드가 인터프리터를 통해 실행될 때 어떤 일을 할지는 그 어떤 프로그래머가 어떻게 짰는지에 따라 다르다.

    꼭 내가 원한 것만 실행되지는 않을 수도 있다는 것..!

    'JS' 카테고리의 다른 글

    연산자는 함수다  (0) 2020.08.20
    Type  (0) 2020.08.17
    undefined  (0) 2020.08.06
    Hoisting  (0) 2020.08.04
    Name/Value Pairs and Objects  (0) 2020.07.31
    댓글