[Javascript] 스코프와


1. 범위

1-1 let, var, const 및 범위

2. 가까이

2-1 클로저 사용

1. 범위

범위는 가변 액세스 규칙에 따라 유효 영역을 지정합니다.

기능이나 블록으로 구분된 영역 주위에 울타리를 치는 것과 같습니다.

범위의 핵심 규칙은 다음과 같습니다.

내부 범위는 외부 범위에서 선언된 변수에 액세스할 수 있지만

외부 범위는 내부 범위에서 선언된 변수에 액세스할 수 없습니다.그것은.

가장 바깥쪽 범위를 전역 범위라고 합니다.

고유한 개념은 전역 범위를 제외한 모든 범위가 로컬인 로컬 범위입니다.

로컬 범위에서 선언 지역 변수전역 범위에서 선언 글로벌 변수더 높은 우선 순위를 갖습니다.

즉, 같은 이름의 변수가 선언되면 로컬 변수가 먼저 로컬 범위에서 뒤따릅니다.

1-1 let, var, const 및 범위

이 세 키워드의 유사점과 차이점은 변수 선언 구성에 요약되어 있습니다.

(Javascript) 데이터 유형 및 변수

1. 데이터 타입 1-1. 번호 유형 1-2. 문자열 유형 1-3. 부울 유형 1-4. 기타 2차 변수 2-1. 변수 선언 및 할당 2-2. 변수 올리기 1. 데이터 유형 JavaScript의 모든 값은 데이터 유형입니다.

sulki.tistory.com

핵심은 var가 함수 수준 범위를 지원하고 let 및 const가 블록 수준 범위를 지원한다는 것입니다.

var와 달리 let은 재선언할 수 없습니다.

오류를 줄이고 예측 가능한 코드를 작성하려면 let 키워드를 사용하는 것이 더 안전합니다.

2. 가까이

클로저는 함수와 함수가 선언된 어휘 환경의 조합입니다.

이 정의 자체가 클로저를 이해하는 데 첫 번째 장애물이 아닙니까?

그렇다면 클로저라는 단어는 함수 또는 이 원칙을 의미합니까?

즉, 그것이 유형적인 것인지 추상적 인 개념인지 이해하는 데 많은 시간이 걸렸습니다.

여러 참고서와 블로그를 살펴본 결과 대답은 “둘 다”였습니다.

클로저는 특정 유형의 함수를 참조할 수 있으며 해당 함수와 해당 함수가 선언된 환경 간의 관계를 참조하는 데에도 사용할 수 있습니다.

클로저라는 기능은 무엇입니까?

JavaScript에서 모든 함수는 이론적으로 클로저입니다.

그러나 일반적으로 폐쇄는 모든 기능에 적용되지 않으며 다음 두 가지 조건에 해당합니다. 모든 만족스러운 경우에만.

1️⃣ 외부함수의 지역변수 참조그렇게 하는 내부 함수가 있어야 합니다.

2️⃣ 내부 기능은 외부 기능 외부에 있습니다. 계전기외부 함수보다 오래 생존해야 합니다.

2-1 클로저 사용

그렇다면 패스너는 언제 사용합니까?

전역 변수는 어디에서나 액세스하고 변경할 수 있습니다.

클로저를 사용하여 안전하게 관리해야 하는 값을 숨겨 의도하지 않은 변수 변경을 방지할 수 있습니다.