아래 코드를 브라우저 console에서 실행시키면
debugger 부분에서 실행이 잠시 멈춤
이때의 call stack을 아래 그림과 같이 확인할 수 있음
const x = 'x'; //없애면 c에서 x를 출력하면 reference error 발생
function c() {
const y= 'y';
console.log('c ', x)
debugger;
}
function a() {
const x = 'xxx'
console.log('a ', x)
function b() {
const z = 'z';
console.log('b ', x);
c();
}
b();
}
a();
c();
call stack 뿐만 아니라 Scope도 확인 할 수 있음
ㅇ
'자바스크립트' 카테고리의 다른 글
[인간 JS엔진 되기] 2-1. 비동기 - 콜백, promise, async/await (1) | 2023.12.20 |
---|---|
[인간 JS엔진 되기] 1-4,5. 스코프 체인 및 호이스팅 (0) | 2023.12.19 |
[인간 JS엔진 되기] 1-1. 함수와 함수의 호출 (1) | 2023.12.19 |
함수 호출 방식에 의해 결정되는 this (0) | 2023.09.05 |
프로토타입 기반의 상속 (0) | 2023.09.04 |