티스토리 뷰
호이스팅(Hoisting)이란?
자바스크립트는 코드 구문을 실행하기 전에 함수 또는 변수 선언을 메모리에 저장하는 방식이기 때문에 함수 또는 변수를 코드에서 선언하기 전에 사용할 수 있다.
단, 변수 및 함수 선언은 컴파일 단계에서 메모리에 저장되지만, 코드에서 입력한 위치는 변하지 않는다.
소스코드
catName("Chloe");
function catName(name) {
console.log("My cat's name is " + name);
}
//My cat's name is Chloe
변수는 선언하기 전에 초기화하여 사용할 수 있지만, 초기화 없이 사용할 수 없다.
num = 6;
var num;
// 6
//num = 6;
num = num + 7;
var num;
// NaN
// num은 undefined 상태이기 때문에 숫자와 계산될 수 없다.
참조
https://www.edwith.org/boostcourse-web/lecture/254283/
https://developer.mozilla.org/ko/docs/Glossary/Hoisting
'Language > Javascript' 카테고리의 다른 글
querySelector(), getElementById() (0) | 2020.12.26 |
---|---|
HTML에서 자바스크립트로 값 전달 (0) | 2020.12.26 |
Ajax(XMLHTTPRequest 통신) (0) | 2020.12.26 |
HTML에서 자바스크립트 로딩 (0) | 2020.12.23 |
콜백(call back) 함수 (0) | 2020.12.16 |
댓글