(JS) Function Scope

호두파파·2020년 12월 22일
0

Scope & Hoisting

목록 보기
1/4

Scope란, 우리가 작성하는 코드의 접근 범위를 결정하는 개념입니다.

Function Scope 예시

function foo () {
    / ------ foo scope start --------- /
	var a = 1;
    
    console.log(a); // 로그 #1
    / ------ foo scope end ----------- /
}

foo();

var을 이용해 선언한 변수는 함수를 기준으로 접근 범위가 결정된다. 해당 변수 선언문을 감싸고 있는 함수를 기준으로 접근 범위가 설정되고 그 범위 내부에서는 자유롭게 접근하여 사용할 수 있기 때문이다.

var : Variable Scope Details

선언된 변수 a는 함수 내부에서까지만 유효범위를 갖는다.

function foo () {
	var a = 1;
    
    function bar () {
    	var a = 2
    	console.log(a);
    }
    bar();
    console.log(a); // 로그 #1
}

foo();

bar 함수 안에서 실행된 console.log(a)는 함수내에서 실행문이 속한 최하위에 속해있기 때문에 바로 윗줄의 "var a = 2"의 영향을 받는다.

profile
안녕하세요 주니어 프론트엔드 개발자 양윤성입니다.

0개의 댓글