-
[JavaScript] Hoisting 현상이란웹 개발/JavaScript 2021. 5. 7. 11:04반응형
**변수는 var 키워드에만 적용 (let 안됨) **
**함수는 선언적 방식만 가능**
일반적으로는 선언을 먼저 하고 사용해야하지만
자바스크립트는 hoisting 문제로 키워드의 선언을 나중에 할 수 있다.
catName("Chloe"); function catName(name) { console.log("My cat's name is " + name); } /* 위 코드의 결과는: "My cat's name is Chloe" */
- 단, Hoisting은 초기화가 아닌 선언만 끌어올린다는 것을 주의하자
[예시]
var x = 1; // x 초기화 console.log(x + " " + y); // '1 undefined' var y = 2;
[실제 로직]
var x = 1; // x 초기화 var y; // y 선언 console.log(x + " " + y); // '1 undefined' y = 2; // y 초기화
- 함수의 경우도 선언적 방식만 hoisting이 가능하다.
catName("Chloe"); var catName = function(name){ console.log("My cat's name is " + name); } /* Uncaught TypeError: catName is not a function */
[실제 로직]
var catName; catName("Chloe"); function(name){ console.log("My cat's name is " + name); } /* Uncaught TypeError: catName is not a function */
developer.mozilla.org/ko/docs/Glossary/Hoisting
반응형'웹 개발 > JavaScript' 카테고리의 다른 글
[TS] 타입스크립트 이해하기 (0) 2022.03.29 [JavaScript] 객체 비 구조화 할당 (0) 2021.05.14 [JavaScript] ESLint와 Prettier 설치 및 설정 (0) 2021.04.29 [JavaScript] DOM 이벤트 함수 사용 및 원리 (0) 2021.04.27 [Java Script] DOM (Document object module)이란? (0) 2021.04.27