본문 바로가기

과거공부모음

나의 개발일지 20221229 TIL(Today I learned) - 호이스팅, var, let, const

Today I learned

  • 호이스팅
  • var, let, const

오늘은 자바스크립트에 부족함을 느끼고 자바스크립트의 복습을 진행했다 그냥 기능을 사용하는 거보다는 자바스크립트의 동작을 이해하면 더 자바스크립트를 잘 학습할 수 있을 거 같아서 그 부분을 집중적으로 학습했다

 

호이스팅을 학습하면서 매우 흥미로웠다

console.log(name);

var name = "hong"

나는 여기서 당연하게 에러가 발생하는 줄 알았는데 undefined가 출력이 되었다 이렇게 되는 이유가 호이스팅이라는 자바스크립의 기능 때문이다 자바스크립트 코드를 실행하면 자바스크립트는 함수와 변수를 제일 위로 가져가서 선언하고 메모리를 준비한다고 한다

 

let, const를 비슷한 코드로 작성해 보았다

console.log(name, age, job);

var name = 'hong';
let age = 20;
const job = '개발자';

이 코드를 실행하면 바로 에러가 발생한다 

let과 const는 호이스팅을 진행하지 않는 건가? 싶었지만 더 학습을 진행해보니까 let과 const도 호이스팅을 하지만

var는 호이스팅으로 선언하고 undefined로 초기화를 하지만 let과 const는 초기화를 진행하지 않는다

let과 const 덕분에 의도하지 않는 변수의 사용을 하지 않을 수 있어서 좋은 거 같다

 

오늘 배운것을 자바스크립트에는 호이스팅이라는 기능이 있고 그 기능이 무엇인지 배웠다

그리고 var에서 왜 let과 const를 사용하는지 다양한 이유 중 하나를 알았다 특별한 경우가 아니면 var를 사용하지 말고 let과 const를 사용하자 계속해서 자바스크립트의 중요한 부분을 복습하면서 자바스크립트의 대해서 깊기 이해해 보자

실행 컨텍스트, this, 클로저, 콜백 등 제대로 이해하고 싶은 부분이 많다