WIT – NTS UIT Blog

[번역] ECMA-262-3 in detail. Chapter 4. Scope chain.

Posted by in Research

원문 출처 : ECMA-262-3 in detail. Chapter 4. Scope chain.. by Dmitry Soshnikov       소개(Introduction) 변수 객체를 살펴보았던 두 번째 챕터에서 보았듯이, 실행 콘텍스트의 데이터(변수, 함수 선언 그리고 함수의 형식 매개변수)는 변수 객체의 프로퍼티로 저장된다. 그리고 콘텍스트로 진입할 때 매번 초기값을 갖는 변수 객체를 생성하며, 코드 실행 단계에서 값을 갱신한다는 사실도 배웠다. 이 챕터에서 실행 콘텍스트와 직접적으로 관련있는 내용 한 가지를 더 자세히 알아볼텐데, 이번 주제는 바로 스코프 체인(scope chain)이다.       정의(Definitions) 간략하게 요점만 살펴보면, 스코프 체인은 대게 중첩 함수와 관련이 있다. 다들 알고 있듯이, ECMAScript는 중첩…read more

0

[번역] ECMA-262-3 in detail. Chapter 3. This.

Posted by in Research

원문 출처 : ECMA-262-3 in detail. Chapter 3. This. by Dmitry Soshnikov       소개(Introduction) 이 글에서는 실행 콘텍스트와 관련있는 내용을 더 자세하게 알아볼 것이다. 이번 주제는 this 키워드다. 사례에서 보듯이, 이 주제는 상당히 어려워서 종종 다른 실행 콘텍스트의 this 값을 처리할 때 이슈를 만들곤 한다. 많은 프로그래머가 프로그래밍 언어의 this 키워드가 객체 지향 프로그래밍과 관련이 있다고 생각한다. 정확하게는 생성자를 이용해서 새롭게 만들어진 객체를 참조한다고 생각한다. ECMAScript에도 이 개념은 정의되어 있다. 그러나 앞으로 보게 될 것처럼, ECMAScript는 this의 정의를 오직 생성한 객체로 제한하지 않는다. 자, 그러면 ECMAScript에서 사용하는 this의 정확한 의미를…read more

0

[번역] ECMA-262-3 in detail. Chapter 2. Variable object.

Posted by in Research

원문 출처 : ECMA-262-3 in detail. Chapter 2. Variable object by Dmitry Soshnikov       소개(Introduction)   프로그램을 개발할 때 우리는 항상 함수와 변수를 선언하고 이것을 이용해서 성공적으로 시스템을 구축한다. 그런데 인터프리터는 어떻게, 어디에서 데이터(함수, 변수)를 찾을까? 우리가 필요한 객체를 참조할 때 무슨 일이 일어나는 걸까? 많은 ECMAScript 프로그래머들이 변수와 실행 콘텍스트가 서로 밀접하게 연관되어 있다는 사실을 알고 있다.  

  또한 현재 버전의 ECMA 스펙에서는 오직 “함수” 코드의 실행 콘텍스트만이 격리된 유효범위(scope)를 만들 수 있다는 것도 알고 있다. 이것은 C/C++의 경우와는 반대이다. 예를 들어 보면, ECMAScript의 for 루프 블럭은…read more

0

[번역] ECMA-262-3 in detail. Chapter 1. Execution Contexts.

Posted by in Research

원문 출처 : ECMA-262-3 in detail. Chapter 1. Execution Contexts by Dmitry Soshnikov       소개   이 글은 ECMAScript의 실행 콘텍스트(execution contexts), 그리고 실행 콘텍스트와 관련있는 실행 코드(Executable code)에 대해서 이야기 한다.     정의   ECMAScript의 실행 코드로 제어가 전달되면, 이 제어는 실행 콘텍스트으로 진입한다.   실행 콘텍스트(Execution context, 이하 EC)는 실행 가능한 코드의 유형을 나누고 구별하기 위해서, ECMA-262 스펙이 정의하고 있는 추상적인 개념이다.   표준은 기술적인 관점에서 정확한 실행 콘텍스트의 구조와 종류를 정의하고 있지는 않다. 구체적인 내용은 표준 스펙을 구현하는 ECMAScript 엔진이 처리해야 할 문제이다.   활성화된 실행…read more

0