방명록
- Syntax Parsers, Execution Contexts, and Lexical Environments2020년 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 다음글이 없습니다.이전글이 없습니다.댓글