Hoisting

wony·2022년 3월 17일
0

호이스팅

var 변수 선언은 정의하는 코드보다 사용하는 코드가 먼저 실행될 수 있다
또 재선언과 재할당이 가능하기 때문에 에러가 발생할 수 있다.

console.log(child)
var child = "철수"
undefined  //출력값

let도 호이스팅이 되지만 할당되전에는 TDZ(Temporal Dead Zone) 에 있어서 먼저 등장하지 않는다

console.log(child3)
let child = "철수"
VM246:1 Uncaught SyntaxError: Identifier 'child' has already been declared // 오류발생

const 역시 호이스팅이 되지만 할당되전에는 TDZ(Temporal Dead Zone) 에 있어서 먼저 등장하지 않는다

console.log(child2)
const child = "철수"
VM197:1 Uncaught SyntaxError: Identifier 'child' has already been declared // 오류발생

function 함수 선언과 var 변수 선언은 정의하는 코드보다 사용하는 코드가 먼저 실행될 수 있다
또 재선언과 재할당이 가능하기 때문에 에러가 발생할 확률이 높다.

이 경우에는 어디서 오류가 발생했는지 찾기 어렵기 때문에

function함수는 화살표함수로,

var 선언은 const와 let으로 변경하여 사용하면 에러를 줄일 수 있다

const나 let도 호이스팅이 되지만 할당되전에는 TDZ(Temporal Dead Zone) 에 있어서 먼저 등장하지 않는다
const는 재선언과 재할당이 모두 불가능하기 때문에 에러 발생을 줄일 수 있다.

const examlie = () =>{

}

//화살표함수 사용법
profile
무럭무럭 성장중🌿

0개의 댓글