TDZ 2

24.05.30 TDZ와 Hoisting, var let const

스코프란?스코프란 변수에 접근할 수 있는 범위를 의미하며, 자바스크립트에서는 전역과 지역스코프가 존재한다.전역스코프란 어느 곳에서나 변수가 선언되어있어 제한없이 접근 할 수 있는 것이고,지역스코프란 특정한 공간에 변수가 선언되어있어 변수의 접근이 제한되어 있는 것이다.var a = 1;function test() { var a = 'hi'; console.log(a);}test();console.log(a);이러한 코드가 있다고 하자. 결과가 어떻게 출력될까?hi가 먼저 출력되고, 1이 출력될 것이다.test()함수의 선언 에서 a라는 변수가 'hi'로 선언 및 초기화가 되었으므로 hi를 먼저 출력한다.그리고 console.log(a)가 실행되는데, 이때 a는 전역변수로 선언 된 1이 출력된다..

2차 공부/TIL 2024.05.30

호이스팅(hoisting)과 TDZ(temporal dead zone)은 무엇일까?

글쓰기에 앞서 글쓴이는 코딩에 미숙한 사람임을 알립니다. 더 구글링 해보면 더욱 더 자세한 내용이 공식문서 혹은 블로그에 정리 되어 있을 수 있습니다. 스코프 스코프란 변수에 접근할 수 있는 범위를 의미한다. JS에선 전역스코프와 지역스코프가있다. 전역스코프는 말 그대로 모든 곳에서 변수가 선언되어있어 어느곳에서든 접근 할 수 있는 것이고, 지역 스코프는 한정된 공간에 변수가 선언되어있어 한정적으로 변수에대해 접근할 수 있는 것이다. var a = 1//전역 스코프 function print() {//지역(함수)스코프 var a = 111 console.log(a) } print()//111 함수 스코프에 선언된 a는 111이기에 111이 출력됨. console.log(a)//1 console.log가 ..