예제가 포함된 다양한 수준의 범위
JavaScript에는 세 가지 수준이 있습니다. 첫 번째는 전역 범위입니다.
Global Scope의 기술적 의미는 Javascript 프로그램의 모든 것이 기본적으로 실행되는 컨텍스트입니다. 여기에는 다른 범위에 포함되지 않은 모든 변수, 개체 및 참조가 포함됩니다.
간단히 말해서 이것은 전체 코드에서 액세스할 수 있는 모든 변수가 전역 범위의 일부로 간주됨을 의미합니다. let, const 및 var를 사용하여 전역 범위에서 모든 변수를 정의할 수 있습니다.
경고: var는 키워드 중 하나이지만
할 수 있기 때문에 사용하지 않는 것이 좋습니다.
실수로 재정의되어
버기 프로그램.
이제 정의가 있으므로 내 코드에서 전역 범위의 몇 가지 예를 살펴보겠습니다.
`const mainDiv = document.getElementById("main")
function chores(event){
//code here can use mainDiv variable
}
function antherFunction(event){
//and the code here can use mainDiv variable
}`
이제 이 예에서 사용되는 키워드는 const입니다. 전체 코드를 통해 도달할 수 있는 변수로 설정되어 있는 것이 mainDiv입니다. 마지막은 변수 mainDiv가 document.getElementById("main")에 할당되는 것입니다.
이것이 이해하기 조금 어렵다면 여기에서 좀 더 간단합니다.
`let submitchore = 'theChores';
function chores(event){
//code here can use mainDiv variable
}
function newChores(event){
//code here can use mainDiv variable
}`
다시 우리는 전역 변수를 할당해야 하는 let, const 또는 var 키워드 중 하나를 가지고 있습니다. 할당되는 변수는 submitChore입니다. 마지막으로 필요한 부분은 변수가 할당되는 'theChores'입니다. 동일한 변수가 두 함수 외부에 있으므로 하나의 함수가 아닌 두 함수 모두에 액세스할 수 있습니다.
JavaScript에서 범위의 두 번째 수준은 기능적 범위라고 합니다.
기능 범위에 대한 기술 용어는 함수 내부에서 선언된 변수이며 해당 함수 내에서만 액세스할 수 있으며 해당 함수 외부에서 사용할 수 없습니다.
더 간단한 분류는 각 기능이 기능 범위를 생성한다는 것입니다. 예를 들어:
`function chores(event){
let submitchore = 'theChores'; //This is a Functional scope
}
function chores(event){
const submitchore = 'theChores'; //This is a Functional scope
}
function chores(event){
var submitchore = 'theChores'; //This is a Functional scope
}`
보유하고 있는 기능의 수에 관계없이 모두 고유한 기능 범위가 있습니다.
함수 내부에 변수를 만들 때 발생하는 로컬 범위가 있습니다. Local Scope의 예를 들어 위의 함수를 사용하여 차이를 볼 수 있습니다.
Global Scope Example:
`let submitchore = 'theChores';
function chores(event){
//code here can use mainDiv variable
}
function newChores(event){
//code here can use mainDiv variable
}`
로컬 범위 예:
`function chores(event){
let submitchore = 'theChores';
//code here can use submitchore
}
function newChores(event){
//code here cannot use submitchore
}`
이제 각각의 예를 보면 뚜렷한 차이점을 볼 수 있습니다. 변수 submitchore는 두 함수 외부에서 chores 함수로 이동했습니다. 이렇게 하면 변수 submitchore가 newChores 함수에 액세스할 수 없게 됩니다. submitchore 변수를 newChore 함수에 넣더라도 chores 함수에 다시 액세스할 수 없습니다.
예시:
`function chores(event){
//code here cannot use submitchore
}
function newChores(event){
let submitchore = 'theChores';
//code here can use submitchore
}`
이제 세 범위 중 마지막 범위는 블록 범위입니다.
The technical definition for the Block Scope variable means that the variable defined within a block will not be accessible from outside the block.
이에 대한 좋은 분석은 { } 내의 모든 것이 블록 범위라는 것입니다. 이에 대한 몇 가지 예:
`//Can’t be used here
{let submitchore = 'theChores';
//code here can use submitchore
}
//Can’t be used here`
블록은 함수 내부에 있을 수 있으며 변수는 여전히 { } 외부에서 사용할 수 없습니다.
따라서 이 블로그에서 얻을 수 있는 내용은 글로벌 범위, 기능 범위 및 블록 범위의 세 가지 다른 범위를 더 잘 이해하는 것입니다. 또한 각 게재위치와 나중에 생성하는 코드에 적용되는 방식을 더 잘 이해하는 데 도움이 되기를 바랍니다. 즐거운 코딩하세요!
Reference
이 문제에 관하여(예제가 포함된 다양한 수준의 범위), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jordankeen20/the-different-levels-of-scope-with-examples-1346텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)