
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
제가 사용해본 C계열 언어에선 같은 이름의 변수를 다시 선언하면 컴파일 에러가 발생합니다. js도 변수를 같은 이름으로 재선언 하는 것을 막으면 예측하기 어렵고 위험한 호이스팅 문제같은게 발생하지 않을 것 같은데 왜 그러지 않나요?
(c계열 언어)
int main(int argc, char** argv){
int a = 0;
int a = 1; // error!
}
(js)
var a = 0;
console.log(a); // function -> function a가 호이스팅된 결과 0이 아닌 function이 출력된다
function a() { }
