>  기사  >  웹 프론트엔드  >  자바스크립트의 범위

자바스크립트의 범위

WBOY
WBOY원래의
2024-08-14 10:31:101033검색

Scopes in Javascript

안녕하세요 여러분, 제 블로그에 오신 것을 환영합니다

저는 스와넨두입니다. 이번 블로그에서는 JavaScript의 Scopping 개념에 대해 설명하겠습니다.

Javascript는 가장 흥미로운 언어 중 하나이며 Scopping의 경우 몇 가지 흥미로운 작업을 수행합니다. Javascript의 범위를 마스터하면 버그 없는 코드를 더 많이 작성하는 데 도움이 됩니다. 이 기사를 계속 읽으면서 Javascript의 범위에 대해 자세히 알아보겠습니다.

스코프란 무엇인가요??
범위는 값과 표현식에 액세스할 수 있는 현재 실행 컨텍스트를 나타내는 Javascript의 개념입니다. 간단히 말해서 범위는 코드에서 변수와 함수에 액세스하거나 참조할 수 있는 위치를 결정합니다.

이러한 기술적 정의를 얻을 수 없더라도 걱정하지 마세요. 이번 글에서는 이해를 돕기 위해 실제 사례를 들어보겠습니다.

스코프는 크게 두 가지 유형이 있습니다. 1. 글로벌 스코프
2. 로컬 범위

로컬 범위에는 블록 범위와 기능 범위의 두 가지 유형이 있습니다.

친구의 결혼식 이벤트를 준비하고 있고 장식, 초대장, 케이터링 등 관리해야 할 다양한 작업이 있다고 가정해 보세요. 각 작업/작업에는 수행해야 할 특정 작업이 있으며
분명히 이러한 작업을 서로 방해하고 싶지는 않을 것입니다. 그래서 우리는 자바스크립트 범위 개념을 사용하여 이 문제를 해결합니다.

글로벌 범위:

글로벌 스코프는 결혼식 이벤트의 주 주최자와 같습니다. 이 경우 장식, 초대장, 케이터링 등 모든 작업(변수)에 액세스할 수 있는 글로벌 스코프입니다. 모든 부분을 보고 제어할 수 있습니다. 이벤트의.

함수/블록 외부에서 선언된 변수가 전역 범위에 있는 경우. 이러한 전역 변수는 코드 어디에서나 액세스할 수 있습니다.

`var globalVariable = "나는 전역 변수입니다";

함수 func() {
console.log(globalVariable);

}

펑크(); // "저는 전역 변수입니다."
console.log(globalVariable); // 여기에서도 접근 가능
`
위의 예에서 globalVariable은 코드의 전역 범위에서 선언되었으므로 이 코드의 어느 곳에서나 액세스할 수 있습니다.

로컬 범위:

함수나 블록 내부에 선언된 변수가 로컬 범위에 있는 경우. 이러한 변수는 함수나 블록 내부에서만 접근할 수 있습니다.

이제 친구 결혼식에는 모든 업무를 담당하는 작업 관리자가 있어야 합니다. 케이터링에는 케이터링 관리자, 유사 장식 관리자, 초대 관리자가 있습니다. 각 관리자는 독립적으로 일하며 다른 사람을 방해하지 않습니다.

아. 기능 범위:

Var: 함수 내부에서 언제든지 var를 사용할 때마다 변수는 함수 범위를 얻습니다. 외부 함수를 사용하면 블록 내에서 닫혀 있는지 여부에 관계없이 전역 변수가 제공됩니다.

`함수 func() {
var localVariable = "저는 지역 변수 출신입니다.";
console.log(localVariable); // 여기서 localVariable에 접근할 수 있습니다
}

func();
console.log(localVariable); //오류 발생: localVariable이 정의되지 않았습니다
`
위의 예에서는 케이터링 관리자가 케이터링에만 관련된 메뉴 항목(변수) 목록을 가지고 있다고 상상할 수 있습니다. 마찬가지로, 함수 내부에 선언된 변수는 해당 함수에만 관련됩니다(접근 가능함을 의미).

베. 블록 범위:

Let: let으로 변수를 초기화할 때마다 항상 둘러싸는 블록의 범위를 가져옵니다. 'let' 역시 재선언을 허용하지 않습니다.

Const: 'let'과 유사하지만 변수에 새 값을 재할당할 수 없습니다('let'에서는 가능).

`함수 func() {
if (true) {
let blockVariable = "저는 블록 범위 변수 출신입니다.";
console.log(blockVariable); // blockVariable은 여기서 접근 가능합니다
}
console.log(blockVar); // 오류: blockVariable이 정의되지 않았습니다
}

func();
`
여기서 blockVariable은 'let'으로 선언되었기 때문에 if 블록 내에서만 액세스할 수 있습니다.

위 예의 경우 이제 케이터링 작업 내에서 "디저트 준비", "치킨 준비"와 같은 작은 작업이 있을 수 있습니다. 케이터링 관리자가 향신료/디저트 목록(블록의 변수)을 기록하는 경우 이는 치킨/디저트를 준비할 때만 관련/유용하며 작업이 끝나면 폐기됩니다.

요약하면 Javascript의 Socpe는 변수에 액세스할 수 있는 위치를 제어하는 ​​것입니다. 마찬가지로 친구의 결혼식에서 작업을 관리하는 것입니다.

Javascript의 범위와 let과 var의 주요 차이점을 이해하시기 바랍니다. 원하신다면 앞으로 나올 Javascript 블로그를 팔로우하고 제가 글을 쓰면서 개선해야 할 점이 무엇인지 칭찬해 주실 수도 있습니다.

고마워요?.

위 내용은 자바스크립트의 범위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.