본문 바로가기

Language/JavaScript28

실행 컨텍스트 뿌시기 part2 var x = 1; const y = 2; function foo (a) { var x = 3; const y = 4; console.log(a + x + y); } foo(20); 1단계와 비교해서 함수 선언문으로 foo 함수가 추가되었습니다. 함수 내부에는 전역에서 선언한 변수와 동일한 이름의 식별자가 var 키워드와 const 키워드로 선언됐으며, 콘솔로그 또한 함수 내부에 위치해 있습니다. 이때 실행 컨텍스트는 어떻게 형성되는지 살펴보되, 1단계와 중복되는 부분은 차치하고 기술하겠습니다. 👉 실행컨텍스트 뿌시기 Part1. 함수가 추가된 경우에도 실행 컨텍스트의 진행 과정은 1단계와 동일합니다. 전역 객체를 생성하고, 전역 코드 평가 후 전역 코드를 실행합니다. 즉, 함수가 1개든, 2개든, 중첩.. 2023. 8. 27.
실행컨텍스트 뿌시기. part1 총 3가지 단계(part1 - 1단계 & part2 - 2, 3 단계)로 구성된 예시 코드들을 살펴보며 소스코드의 평가와 실행을 순차적으로 진행하는 인터프티러 언어인 자바스크립트의 엔진이 식별자(변수, 함수, 클래스 등의 이름)를 어디에 등록하고 관리하는지, 코드 실행 순서는 어떻게 관리하는지에 대한 매커니즘인 실행 컨텍스트를 이해해보겠습니다. 실행 컨텍스트의 매커니즘은 관리하는 대상에 따라 ‘스택’과 ‘렉시컬 환경’으로 구분할 수 있으며, 두 가지 개념을 중심으로 점진적으로 복잡해지는 코드를 살펴보도록 하겠습니다. 스택 - 코드 실행 순서를 관리합니다. 스택구조: 탑쌓기 놀이처럼 가장 아래에 있는 것을 빼려면 위에 있는 것들을 모두 제거해야 한다. 이는 먼저 들어온 것이 가장 나중에 빠지는 구조로 선입.. 2023. 8. 25.
자바스크립트 일반 자바스크립트의 표준화 넷스케이프 커뮤니케이션즈가 개발한 자바스크립트와 마이크로 소프트가 개발한 자바스크립트의 파생버전인 JScript 중, 각자의 브라우저에만 동작하는 기능들을 추가하며 크로스 브라우징 이슈가 발생했다. 1996년 11월, ECMA-International (컴퓨터 시스템 표준 관리 비영리 표준화 기구)에게 자바스크립트의 표준화를 요청하여 표준화를 진행하고, ECMAScript로 명명했다. 표1. ES 버전들의 출시 년도 버전 출시 연도 특징 ES1 1997 초판 ES2 1998 ISO/IEC 16262 국제 표준과 동일한 규격 적용 ES3 1999 정규 표현식, try … catch ES5 2009 HTML5와 함께 출현한 표준안. JSON, strict mode, 접근자 프로퍼티, 프.. 2023. 6. 24.
[프로토타입] 프로토타입의 이해 당연하게 사용하고 있었던 객체, 배열, 문자열 등의 메서드들이 어떻게 동작하는지, 그리고 추후 클래스를 사용하며 extends, implement, 생성자 함수의 사용 등을 유려하게 하기 위해서 가장 먼저 짚고 넘어가야 할 개념이 프로토타입이다. #[[prototype]] 객체가 갖는 내부 프로퍼티이자 숨김 프로퍼티로써, null 을 참조하거나 다른 객체를 참조할 때 사용된다. 객체에서 하나만 존재한다. (참조할 수 있는 프로토타입은 유일함) 참조할 프로토타입을 할당할 수 있다.(객체나 null 만 가능) 객체에서 찾을 수 없는 메서드와 속성은 [[prototype]]으로 참조한 프로토타입에서 찾는다. 처음 찾은 메서드 혹은 속성을 반환한다. __proto__ 는 속도 이슈 및 에러 발생 가능성 때문에 .. 2022. 12. 25.