본문 바로가기
반응형

javascript 코어 개념35

16. 메모리 관리(Memory Management) - 1 가비지 컬렉션(Garbage Collection) 알고리즘 가비지 컬렉션은 메모리 관리를 위해 사용되는 중요한 프로세스입니다. 자바스크립트에서는 가비지 컬렉션을 통해 사용되지 않는 메모리를 자동으로 해제하여 메모리 누수를 방지합니다. 이 챕터에서는 가비지 컬렉션의 개념과 주요 알고리즘에 대해 알아보겠습니다. 1. 가비지 컬렉션(Garbage Collection)이란? 가비지 컬렉션은 프로그램이 동적으로 할당한 메모리 영역 중에서 사용되지 않는 메모리를 식별하고 해제하는 프로세스입니다. 이를 통해 메모리 누수를 방지하고 시스템의 성능을 향상시킵니다. 2. 주요 가비지 컬렉션 알고리즘 2.1. 참조 카운팅(Reference Counting) 참조 카운팅은 객체가 참조되는 횟수를 카운팅하여 해당 객체의 메모리.. 2024. 2. 16.
15. 실행 컨텍스트(Execution Context)와 스코프(Scope) - 3 호이스팅(Hoisting)과 변수의 스코프 체인(Scope Chain) 호이스팅과 스코프 체인은 자바스크립트의 핵심 개념 중 하나로, 코드의 동작을 이해하는 데 있어서 매우 중요합니다. 이 두 가지 개념을 이해하면 변수 및 함수 선언이 어떻게 동작하는지 이해할 수 있습니다. 1. 호이스팅(Hoisting) 호이스팅은 변수 및 함수 선언이 스코프 내에서 최상단으로 끌어올려지는 것을 의미합니다. 즉, 코드 내에서 변수나 함수를 선언하기 이전에도 참조할 수 있다는 특징이 있습니다. 그러나 할당된 값은 호이스팅되지 않습니다. 아래는 호이스팅의 예시 코드입니다. console.log(x); // undefined var x = 5; 위 코드는 실제로 다음과 같이 동작합니다. var x; console.log(x).. 2024. 2. 16.
14. 실행 컨텍스트(Execution Context)와 스코프(Scope) - 2 렉시컬 스코프(Lexical Scope)와 다이나믹 스코프(Dynamic Scope) 자바스크립트에서 스코프는 변수 및 함수의 유효 범위를 정의합니다. 렉시컬 스코프와 다이나믹 스코프는 이러한 스코프의 동작 방식을 설명하는 두 가지 주요한 개념입니다. 1. 렉시컬 스코프(Lexical Scope) 렉시컬 스코프는 코드가 작성된 위치에 따라 변수의 스코프가 정의됩니다. 함수가 선언된 위치에서부터 해당 함수가 어디에서 호출되든지 관계없이, 함수 내부에서 선언된 변수는 함수의 렉시컬 스코프에 따라 결정됩니다. 아래는 렉시컬 스코프의 예시 코드입니다. function outerFunction() { var outerVariable = 'Outer Variable'; function innerFunction() .. 2024. 2. 16.
13. 실행 컨텍스트(Execution Context)와 스코프(Scope) - 1 실행 컨텍스트의 개념과 구성 요소 JavaScript에서 코드가 실행될 때 생성되는 실행 환경인 "실행 컨텍스트"는 JavaScript 엔진이 코드를 실행하는 방식을 이해하는 데 중요한 개념입니다. 실행 컨텍스트는 코드가 실행될 때 변수, 함수 선언 등의 정보를 담고 있으며, 스코프 체인과 클로저의 동작에 영향을 줍니다. 1. 실행 컨텍스트의 개념 실행 컨텍스트는 코드가 실행되는 환경을 추상화한 것으로, 코드가 실행될 때 생성되고 관리됩니다. 실행 컨텍스트에는 코드가 실행되는 동안 필요한 정보들이 담겨 있습니다. 이 정보에는 변수, 함수 선언, 매개변수 등이 포함됩니다. 2. 실행 컨텍스트의 구성 요소 실행 컨텍스트는 크게 세 가지 요소로 구성됩니다. Variable Object(변수 객체): 현재 컨텍.. 2024. 2. 16.
반응형