호이스팅 개념

이규황·2021년 12월 9일
0

개발 공부 정리

목록 보기
10/14

JavaScript에서 변수를 선언을 하면, 이것을 실행하기 전에 V8(자바스크립트 엔진)이 메모리에 선언된 값을 저장해놈

var는 선언도 하기 전에 값을 할당할 수 있었다.

age = 4
var age // 이게 가능했음

하지만 이거 떄려잡으려고 es6에서 let, const 가 등장함
name = 4
let name // 에러를 뱉음 선언도 전에 값을 할당해?? 미쳤음?? 하고 에러 나옴

이게 호이스팅의 개념이다.

선언된것에 상관없이 값을 최상위로 끌어 올려주는 것을 말한다.

var은 no block scope!!!

이말이 뭘까?

{
age =4 
var age
}
console.log(age) ->> 블록안에 있는 age 값이 호출이 된다??? 미쳤네??

이게 문제인게, 현재 개발되는 애플리케이션은 규모가 커지고, 복잡해졌는데 var을 선언해서 나온 값들이 나도 모르는 곳에서 나오니깐 환장하는것

var쓰지말고 let 써라잉!!!?

const는 유일한 값에 사용한다. 재할당이 안됨 let은 재할당이 됨

profile
도전중

0개의 댓글