호이스팅(Hoisting)

Yoonezi·2023년 5월 21일
0

React

목록 보기
14/15

호이스팅(Hoisting)

변수 선언 방식에는 const, let, var 세가지 방식이 있습니다.

그 중에 var는 이미 선언된 변수를 다시 선언할 수 있기 때문에 현재는 사용하지 않는 변수 선언 방식입니다.
이러한 문제는 자바스크립트에서 호이스팅이라는 개념이 있기 때문 !

호이스팅이란 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다.

쉽게 말해서 호이스팅은 변수의 선언과 초기화를 분리하여 선언만 코드의 최상단으로 끌어올려주는 것입니다. 따라서, 변수를 정의하는 코드보다 사용하는 코드가 앞서 등장할 수 있습니다.

함수의 호이스팅

함수는 코드를 실행하기 전에 함수 선언에 대한 메모리부터 할당되어 함수를 호출하는 코드를 함수 선언 앞에 배치할 수 있습니다.

myName('ezi')

function myName(name) {
	console.log('제 이름은' + name + '입니다')'
}

// '제 이름은 ezi입니다'

이러한 특성때문에

  //   async function onClicksync() {
  const onClicksync = async () => {
    const data = await axios.get("https://koreanjson.com");
   //내용생략
  };

async function onClicksync() 보단 const onClicksync = async () => const 화살표 함수를 사용하는 것을 추천합니다 !

(지금은 React의 업데이트로 방지되었다고 하지만 ,, 우리는 항상 더 오래 오래 신뢰된 것을 선호하기 때문에 요 방법을 쓰길 .. )

변수의 호이스팅

console.log(num); // 호이스팅한 var 선언으로 인해 undefined 출력
var num; // 선언
num = 1;  // 초기화
profile
차곡차곡

0개의 댓글