[JavaScript] 스코프


[JavaScript] 스코프

스코프란? 변수나 함수 등 어떤 대상에 접근할 수 있는 범위이다. 간단하게 유효 범위라고 생각하면 쉽다. 좀 더 정확하게 말하면 식별자를 특정하게 식별하기 위한 규칙이라고 할 수 있다. 다른 프로그래밍 언어에서도 유효 범위 개념이 적용되지만, 자바스크립트에서는 어떻게 동작하는지 살펴보자. 함수 레벨 스코프 자바스크립트는 함수 레벨 스코프로 작동한다. 블록 레벨 스코프를 따르는 C 같은 언어와는 다른 방식이다. 왜냐하면 자바스크립트에서 함수는 클로저 역할을 하기 때문에 스코프를 생성하고, 따라서 함수 내에 정의된 변수는 외부 함수나 다른 함수 내에서는 접근 할 수 없게 되는 것이다. 함수 레벨 스코프와 블록 레벨 스코프는 뭐가 다른지 살펴보자. 아래 코드에서 if문안의 변수 a는 전역변수이고, tmp 함수안의 a는 지역변수이다. if (true) { var a = 1; // 이건 전역변수 (JS는 블록 레벨 스코프가 아니므로) } function tmp() { var a = 2; //...


#JavaScript #스코프 #자바스크립트

원문링크 : [JavaScript] 스코프