목록Front-end/JavaScript ES6 (2)
NULL
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/P1PPP/btryKuUEAXH/4MUk4kbHeKag5zbi9uyuTk/img.png)
호이스팅이란? 변수나 함수 선언문 등 모든 선언문이 해당 스코프의 선두로 옮겨진 것처럼 동작하는 것을 말한다. 즉, js의 모든 선언문(var, let, const, function*, class)이 선언되기 이전에 참조 가능하다. 선언된 변수는 선언단계와 초기와단계가 한번에 이뤄진다. 즉, 스코프에 변수가 등록되고 변수는 메모리 공간을 확보한 후 undefined로 초기화한다. 따라서 변수 선언문 이전에 변수에 접근하여도 Variable Object에 변수가 존재하기 때문에 에러가 발생하지 않는다, 다만 undefined를 반환한다. 이러한 현상을 변수 호이스팅이라고 한다.
Front-end/JavaScript ES6
2022. 1. 12. 04:12
JS var, let, const 차이
var은 글로벌화되서 어떤 지역에서든 변수가 유효하며, 변수를 한번 더 선언해도 에러가 나오지 않거나 다른 값이 출력되는 것을 볼 수 있다. 간단한 테스트에서는 편리 할 수 있지만 코드량이 많아지면 어디에 어떻게 사용 될지 파악하기가 힘들어지며 값이 바뀔 수도 있다. 그래서 ES6이후 이와 같은 문제를 보완하기 위해 let, const가 나왔다. let은 변수 재할당은 가능하지만 재선언은 불가능하다. 이때 변수의 스코프는 최대한 좁게 만든다. const은 재할당, 재선언이 불가능하며, 재할당이 필요없는 상수와 객체에 사용한다. var는 동일한 변수명으로 재선언이 가능하지만 let은 동일한 변수명으로 재선언 할 시 오류가 발생한다. var a = 1; console.log(a); // 1 var a = 2..
Front-end/JavaScript ES6
2022. 1. 12. 03:53