자바스크립트의 스코프(var, let, const)
스코프란 무엇일까요?스코프는 유효범위, 가시성(visibility) 이라고 불립니다. 단어만 봐서는 어려울 수도 있습니다. 예시를 들어서 좀 더 설명해보겠습니다. const x = 10; console.log(x); //10 { const y = 9; } console.log(y); //? 아주 간단한 코드입니다. x를 정의하고 x의 값을 물어보고, y를 정의하고 y의 값을 물어보았습니다. 하지만 코드를 실행해보면 x 값은 콘솔창에 나오는데 y 값을 물어보면 에러가 뜹니다. 분명히 y를 정의했는데 정의되지 않았다고 나오는 이유가 뭘까요? 바로 스코프 때문입니다. 블록({}) 사이에 y 값을 정의했기 때문에 블록 밖에서는 y가 정의되지 않았다고 뜬 것이죠. 유효범위나 가시성이라는 단어가 조금은 이해가시나요..
Frontend-dev/HTML-CSS-JS
2018. 2. 24. 17:38