본문 바로가기

Language/JavaScript33

[JavaScript] Scope의 개념과 함수,블록 레벨 스코프 Scope의 개념 Scoping: 프로그램의 변수를 구성하고 액세스하는 방법 Lexical Scoping: 코드의 함수 및 블록 배치에 의해 제어됩니다. Scope: 특정 변수가 선언된 공간 또는 환경입니다. Scope에는 3가지 종류가 있습니다 전역 스코프(Global scope) 함수 레벨 스코프(Function-level scope) 블록 레벨 스코프(Block-level scope) 대부분의 프로그래밍 언어는 블록 레벨 스코프(Block-level scope)를 따르지만 자바스크립트는 함수 레벨 스코프(Function-level scope)를 따릅니다. 함수 레벨 스코프(Function-level scope) 함수 내에서 선언된 변수는 함수 내에서만 유효하며 함수 외부에서는 참조할 수 없습니다. .. 2021. 1. 12.
[JavaScript] Execution context and the call stack compiling이 끝났을 때, 코드가 실행되었을 때, global execution context가 제일 먼저 실행됩니다. top level code는 함수를 밖에 있는 코드를 실행합니다. 함수는 개발자들이 호출했을 때만 실행합니다. 실행 context은 추상적인 개념입니다. 실행 context는 기본적인 환경이라고 정의하고 필요한 함수에 전달 된 지역 변수 또는 인수와 같은 모든 정보를 저장합니다. global context는 하나 뿐이며, 항상 기본 context로 존재하고, 최상위 코드가 실행되는 곳입니다. 만들어진 실행 global execution context를 실행합니다. 이과정에서는 CPU processing이나 기계어를 받습니다. top level code 실행이 끝나면 함수가 실행되고.. 2021. 1. 11.
[JavaScript] JavaScript Engine - 자바스크립트 엔진의 이해 자바스크립트 엔진은 자바스크립트 코드를 실행하기 위해 필요한 컴퓨터 프로그램입니다. 자바스크립트 엔진은 각각의 브라우저마다 다르긴 하지만, 모든 엔진이 call stack과 heap을 가지고 있습니다. Call Stack: 코드가 실행되었을 때, 실행 context(Execution context)을 부르기 위해 사용합니다. Heap: 비구조화된 memory 공간입니다. application에 필요한 모든 객체들이 저장되는 공간입니다. 컴퓨터 프로그램은 기계어로 번역되기 위한 과정이 필요합니다. Compliation: 전체 코드가 기계어로 번역되기 위해 전체 소스 코드가 한번에 기계어로 변환됩니다. 그런 다음 기계어는 모든 컴퓨터에서 실행할 수 있는 휴대용 파일로 기록됩니다. 이 때 실행은 기계어로 변환.. 2021. 1. 10.
[JavaScript] JavaScript 8가지 주요 특징 1. High level 하드웨어 리소스를 자동으로 관리해줍니다. 2. Garbage-collected JavaScript엔진 내에 Garbage-collected 알고리즘이 있으며, 컴퓨터 메모리에 있는 오래되고 안쓰는 객체들을 불필요한 메모리 낭비를 막기 위해 자동으로 제거합니다. 3. Interpreted or just-in-time compiled 0, 1로 나타내는 기계어로 번역해주기 위해 compiling, interpreting 과정을 거칩니다. 4. Multi-paradigm Paradigm : 프로그래밍에서 패러다임은 코드 구조화에 대한 전반적인 사고 방식 입니다. Paradigm 에는 3가지 1) Procedural programming 2) Object-oriented programm.. 2021. 1. 10.