티스토리 뷰
Hoisting
- 함수 내에 있는 선언들을 모두 끌어올려 사용
var 변수 선언, 함수 선언문
만 해당
설명
기본적인 Hoisting
- 선언 부분만 맨 위로 올라가서 수행됩니다.
//hoisting
//var b; undefined로 3은 hoisting 되지 않는다.
//function a(){ console.log('a');};
a();
function a() {
console.log('a');
};
console.log(b);
var b = 3;
함수 Hoisting 주의
- 1. 함수 표현식은 Hoisting 안된다.
- 2. 함수와 변수 선언문 중에 함수 선언문이 먼저다.
//1.
fun();
var fun = function() {};
//2.
fun();
var fun = function(){}; //second
function fun() {}; //first
var 사용 금지 이유
var
을 사용하면 선언문만 Hoisting되고 var
이 function
단위의 scope
를 가지기(let/const
block scope
) 때문에 코드가 이상한 값을 참조하고 더러워 질 수 있어 사용을 안하는 것 같다.
Ref
https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/scope-closures/ch5.md
반응형
'Tip and Error > Javascript' 카테고리의 다른 글
Promise Error handling (0) | 2022.03.31 |
---|---|
JS에서 Variable Memory Address를 얻을 수 있나?? (0) | 2022.03.23 |
[Error] console.log Execution Order (실행 순서) (0) | 2022.02.21 |
Debbuger in VSCode(Chrome) (0) | 2022.02.11 |
table #text Problem (0) | 2022.01.12 |
공지사항
최근에 올라온 글