상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
석류가 운동에 도움이 되는 8가지 이유
아몬드를 아침식사로 먹는 방법은?
아몬드를 어린이에게 어떻게 제공할까요?
마늘에 함유된 알리신은 어떤 역할을 하나요?
음성데이터를 활용한 신규 서비스 개발 사례는?
음성데이터를 활용한 고객 서비스 향상 방법은?
영어회화초보가 친구와 대화할 때 제일 먼저 해야 할 말은?
영어회화초보를 위한 효과적인 발음 연습 방법은?
영어회화초보가 자주 사용하는 상품 이름을 영어로 알려주세요.
진통제와 수술 후 회복의 관계는 무엇인가요?
구조방정식으로 복잡한 데이터를 쉽게 다루는 4가지 방법
구조방정식 동향: 6가지 최신 연구 결과
Previous
Next
수정하기 - 자바스크립트에서 스코프(Scope)란 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 스코프(Scope)는 변수와 함수의 접근 가능성을 결정하는 영역을 의미합니다. 스코프는 코드의 특정 부분에서 변수가 어떻게 정의되고, 어떻게 접근될 수 있는지를 규정합니다. 스코프는 주로 두 가지 유형으로 나눌 수 있습니다: <a href='https://sangseek.com/sangseeks/전역 스코프/ko'>전역 스코프</a>(Global Scope)와 <a href='https://sangseek.com/sangseeks/지역 스코프/ko'>지역 스코프</a>(Local Scope). 1. 전역 스코프 (Global Scope) 전역 스코프는 코드의 최상위에서 정의된 변수와 함수가 포함됩니다. 전역 스코프에서 정의된 변수는 프로그램의 어느 곳에서나 접근할 수 있습니다. 예를 들어: ```javascript let globalVar = "I am a global variable"; function showGlobalVar() { console.log(globalVar); } showGlobalVar(); // "I am a global variable" ``` 위의 코드에서 `globalVar`는 전역 변수로, `showGlobalVar` 함수 내에서도 접근할 수 있습니다. 2. 지역 스코프 (Local Scope) 지역 스코프는 함수 내에서 정의된 변수와 함수가 포함됩니다. 이러한 변수는 해당 함수 내에서만 유효하며, 함수 외부에서는 접근할 수 없습니다. 예를 들어: ```javascript function showLocalVar() { let localVar = "I am a local variable"; console.log(localVar); } showLocalVar(); // "I am a local variable" console.log(localVar); // ReferenceError: localVar is not defined ``` 위의 코드에서 `localVar`는 `showLocalVar` 함수 내에서만 유효하며, 함수 외부에서는 접근할 수 없습니다. 3. 블록 스코프 (<a href='https://sangseek.com/sangseeks/Bloc/ko'>Bloc</a>k Scope) ES6(ECMAScript 2015)부터 도입된 `let`과 `const` 키워드를 사용하면 블록 스코프를 생성할 수 있습니다. 블록 스코프는 중괄호 `{}`로 둘러싸인 코드 블록 내에서만 유효한 변수를 정의할 수 있게 해줍니다. 예를 들어: ```javascript if (true) { let blockVar = "I am a block variable"; console.log(blockVar); // "I am a block variable" } console.log(blockVar); // ReferenceError: blockVar is not defined ``` 위의 코드에서 `blockVar`는 `if` 블록 내에서만 유효하며, 블록 외부에서는 접근할 수 없습니다. 4. <a href='https://sangseek.com/sangseeks/스코프 체인/ko'>스코프 체인</a> (Scope Chain) 자바스크립트는 스코프 체인(Scope Chain)이라는 개념을 사용하여 변수를 찾습니다. 이는 현재 스코프에서 변수를 찾고, 만약 찾지 못하면 상위 스코프(부모 스코프)로 올라가서 변수를 찾는 방식입니다. 이 과정을 반복하여 최종적으로 전역 스코프까지 올라가게 됩니다. 예를 들어: ```javascript let outerVar = "I am an outer variable"; function outerFunction() { let innerVar = "I am an inner variable"; function innerFunction() { console.log(innerVar); // "I am an inner variable" console.log(outerVar); // "I am an outer variable" } innerFunction(); } outerFunction(); ``` 위의 코드에서 `innerFunction`은 `innerVar`와 `outerVar` 모두에 접근할 수 있습니다. 이는 스코프 체인 덕분입니다. 5. 클로저 (Closure) 스코프의 개념과 밀접하게 관련된 또 다른 중요한 개념은 클로저(Closure)입니다. 클로저는 함수가 자신의 외부 스코프에 있는 변수에 접근할 수 있는 기능을 말합니다. 클로저는 주로 함수가 반환된 후에도 외부 변수를 기억하는 데 사용됩니다. 예를 들어: ```javascript function makeCounter() { let count = 0; return function() { count++; return count; }; } const counter = makeCounter(); console.log(counter()); // 1 console.log(counter()); // 2 console.log(counter()); // 3 ``` 위의 코드에서 `makeCounter` 함수는 `count` 변수를 클로저로 캡슐화하여, 반환된 함수가 호출될 때마다 `count`의 값을 증가시킬 수 있습니다. 결론 자바스크립트의 스코프는 변수와 함수의 접근성을 결정하는 중요한 개념입니다. 전역 스코프, 지역 스코프, 블록 스코프 등 다양한 스코프 유형이 있으며, 스코프 체인과 클로저와 같은 개념을 통해 자바스크립트의 <a href='https://sangseek.com/sangseeks/변수 관리/ko'>변수 관리</a>와 함수의 동작 방식을 이해할 수 있습니다. 이러한 스코프 개념을 잘 이해하면 자바스크립트 코드를 더 효과적으로 작성하고 디버깅할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기