JavaScript: var, let, const
자바스크립트에서 변수를 선언하는 방법은 세 가지가 있다: var, let, 그리고 const. 그런데 이 셋은 단순히 문법이 다른 게 아니다. 동작 방식 자체가 다르다. 그래서 어떤 걸 쓰느냐에 따라 버그가 생길 수도, 막을 수도 있다. 이번 글에서는 var, let, const를 스코프(Scope), 중복 선언, 호이스팅(Hoisting), 전역 객체(window) 네 가지 관점에서 비교해본다.1. 스코프: 변수가 살아 있는 공간var: 함수 스코프var는 오직 함수 단위로만 스코프를 나눈다. {} 블록은 무시한다.if (true) { var x = 1;}console.log(x); // 1 (밖에서도 접근됨)함수 안에서 선언하면 그 함수 안에서만 유효하지만, 함수 바깥에서 {} 안에 선언하면 밖에서..