-
HTML에서 JavaScript 변수 다루기: let vs var vs windowfront-end 2024. 1. 24. 19:15
// test.js console.log(‘@@TEST’, userId); // test2.js console.log(‘@@TEST2’, userId); 위 코드는 어떻게 동작할 것으로 예상하는가? test.js에서 userId가 선언되기도 전에 접근해서 에러가 날것처럼 보이지만 에러는 나지 않는다. 결과는 다음과 같다 undefined 늘푸른개발자 왜일까? 왜 에러가 나지 않고 정상적으로 동작했는가? 변수가 선언되기도 전에 호출했는데 어째서 동작하는가? 라는 질문이 나온다. 그게 정상이다. 그럼 자바스크립트가 비정상인가? 그렇다 자바스크립트의 var가 비정상적이다. 일반적이지 않게 즉 예상하지 않게 동작하기 때문에 var를 사용해서는 안된다. 개념적으로 자바스크립트에는 호이스팅이라는 개념이 있어서 저..