[Javascript] closure

Yuzu·2023년 3월 31일
0
post-custom-banner

breakpoint 를 걸어주면 코드가 해당 포인트에서 멈춘다!

script,global은 전역적으로 접근할 수 있는 scope

dynamic scope: 동적 scope, 어디에서 호출하느냐에 따라서 접근할 수 있는 유효범위가 달라짐
하지만 javascript 는 정적 scope!

static scope, lexical scope: 정적 scope, 어떤 함수의 유효범위는 그 함수가 어디서 실행됐는지가 아닌 어디서 정의됐느냐에 따라서 달라짐

let l0 = 'l0';

function fn1(){
 function fn2(){
 let l2 = 'l2';
 console.log(l0,l1,l2);
 }
let l1='l1';
console.log(l0,l1);
fn2();
}
fn1();

fn2를 실행:
Scope

  • Local
    l2="l2"
  • Closure (fn1)
    l1="l1" //fn2가 fn1 함수 안에 있을 시 closure에 fn1 함수의 local이 들어옴
  • Script
    l0="l0"
  • Global

-> 함수를 함수 안에 정의하면 그 부모함수의 scope에 접근할 수 있다.!

  • scope = 유효범위, 변수들.. 을 의미함
profile
냐하
post-custom-banner

0개의 댓글