티스토리 뷰

Language/Javascript

호이스팅(Hoisting)

Seogineer 2020. 12. 15. 16:03

호이스팅(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
댓글
Total
Today
Yesterday
링크
Apple 2023 맥북 프로 14 M3, 스페이스 그레이, M3 8코어, 10코어 GPU, 512GB, 8GB, 한글