IdoCleanCode
article thumbnail
반응형

자바스크립트 튜토리얼

 

자바스크립트 튜토리얼

스코프(Scope) 개념 이해와 종류 블록스코프 함수 스코프 스코프 체인 렉시컬 스코프 클로저와 스코프 실행 컨텍스트(Excution Context) 실행 컨텍스트의 이해 참고자료 https://www.w3schools.com/js/default.asp

idocleancode.tistory.com

실행 컨텍스트의 종류
실행 컨텍스트의 종류

 

실행 콘텍스트는 크게 3가지로 나뉩니다. 전역 컨텍스트(Global Context), 함수 컨텍스트 (Funciton Context), Eval 콘텍스트(Eval Context)지만 ,Eval컨텍스트는 중요하지 않아 전역과 함수 실행 컨텍스트를 알아 보겠습니다.

 

전역 컨텍스트(Global Context)

코드가 로드 될때, 전역변수와 전역 함수, 내장 객체들이 이 켄텍스트에서 등록됩니다. 웹 브라우저에서는 Window 객체가 전역 콘텍스트로 사용되고, Node.js에서는 Global 객체가 전역 콘텍스트로 사용됩니다. 종료 시점은 브라우저 종료 될 때입니다.

var name = "idocleancode"

전역 컨텍스트

var globalVar = "I'm a global variable"; // 전역 변수

function globalFunction() {  // 전역 함수
  console.log('This is a global function');
}

console.log(window.globalVar); // "I'm a global variable"
console.log(window.globalFunction()); // "This is a global function"

var 키워드는 전역객체에 등록됩니다.

 

함수 컨텍스트(Function Context)

함수가 호출될 때마다, 함수 콘텍스트가 생성됩니다. 함수 내부의 지역 변수, 함수 내부 함수, 매개 변수 등이 이 콘텍스트에 정의됩니다. 종료 시점은 함수가 종료될 때입니다.

function myFunction() {
  var localVar = "I'm a local variable"; // 지역 변수
  function innerFunction() { // 내부 함수
    console.log('This is an inner function');
  }
  
  console.log(localVar); // "I'm a local variable"
  innerFunction(); // "This is an inner function"
}

myFunction(); // 함수 실행 컨텍스트 생성

myFunction() 호출할 때 변수 localVar와 innerFunction이 함수 실행 콘텍스트에 등록이 됩니다.

 

실행 컨텍스트 등록
실행 컨텍스트 등록

전역, 함수 컨텍스트 차이점

특징 전역 컨텍스트 함수 컨텍스트
생성 시점 브라우저 시작 시 함수 호출 시
포함하는 환경 객체 window 객체
함수의 매개변수, 지역 변수, 로컬 함수 등
this 바인딩 window 객체
함수의 선언 위치
스택에서의 위치 항상 최상위
호출 스택의 가장 위에 위치
종료 시점 브라우저 종료 시 함수 종료 시

 

관련 자료

실행 컨텍스트(Execution Context) 이해

 

자바스크립트(JavaScript) - 실행 컨텍스트(Execution Context) 이해

자바스크립트 튜토리얼 자바스크립트 튜토리얼 스코프(Scope) 개념 이해와 종류 블록스코프 함수 스코프 스코프 체인 렉시컬 스코프 클로저와 스코프 참고자료 https://www.w3schools.com/js/default.asp http

idocleancode.tistory.com

 

참고자료

https://www.w3schools.com/js/default.asp
https://developer.mozilla.org/ko/docs/Web/JavaScript

https://www.geeksforgeeks.org/javascript/?ref=dhm
https://roadmap.sh/javascript

https://chat.openai.com/

https://wrtn.ai/

 

반응형
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!