반응형
JavaScript가 변수를 끌어 올리는 이유는 무엇입니까?
JavaScript가 변수를 끌어 올리는 이유는 무엇입니까?
설계자가 호이 스팅을 구현하기로 결정한 이유는 무엇입니까? 이 작업을 수행하는 다른 인기있는 언어가 있습니까?
문서 및 / 또는 기록에 대한 관련 링크를 제공하십시오.
Stoyan Stefanov가 "JavaScript Patterns"책에서 설명했듯이, 게양은 JavaScript 인터프리터 구현의 결과입니다.
두 단계로 수행되는 JS 코드 해석. 첫 번째 패스 동안 인터프리터는 변수 및 함수 선언을 처리합니다.
두 번째 단계는 실제 코드 실행 단계입니다. 인터프리터는 함수 식과 선언되지 않은 변수를 처리합니다.
따라서 이러한 동작을 설명하기 위해 "게양"개념을 사용할 수 있습니다.
이는 자바 스크립트 인터프리터가 두 주기로 코드를 해석하기 때문입니다.
- 코드 완성 / 컴파일 :
- 코드 실행 :
첫 번째 사이클에서 모든 변수 및 함수 선언은 실행중인 함수 범위의 맨 위로 이동합니다. 이는 실행되기 전에 variableObjects
for execution context
함수 를 만드는 데 도움이됩니다 .
2 단계에서는 값 할당, 코드 문 및 함수 호출이 예상되는 방식으로 한 줄씩 발생합니다.
그것은 당신에게 행동 약 더 나은 사진을 줄 것이다 let
, const
그리고 class
선언은 변수와 함수 사이에 다음과 같은 우선 순위를.
참고 URL : https://stackoverflow.com/questions/15005098/why-does-javascript-hoist-variables
반응형
'Development Tip' 카테고리의 다른 글
TV 가이드 목록 API (0) | 2020.10.27 |
---|---|
varchar (max)를 사용하지 않는 이유는 무엇입니까? (0) | 2020.10.27 |
PHP의 opcode를 얻는 방법? (0) | 2020.10.27 |
객체 지향 프로그래밍의 대안? (0) | 2020.10.27 |
트리 구조 간의 차이 감지 (0) | 2020.10.27 |