구문적인 변수 영역 규칙 lexical variable scoping 을 지원하는 let 키워드 구문적인 변수 영역이란? 자바스크립트에서는 중괄호 {} 를 사용해서 코드 블록을 만드는데, 이때 함수는 별도의 변수 영역을 이룬다. 하지만, if/else 문의 경우 예외적이다. 다른 언어에서는 if/else의 블록도 별도의 영역을 구성할 것으로 생각되겠지만 실제로 그렇지 않다. if/else 블록 안에서 변수를 새로 만들면, 그 변수의 영역이 그 블록 안으로만 한정되지 않는다. [그림1] if 안에 있는 topic 변수를 var로 바꾸었더니 if 밖에 있는 topic에도 영향을 미치는 경우 // Variables cannot be scoped to code blocks var topic = "자바스크립트";..