반응형
javascript에서 변수를 선언할 때 var, let, const와 같은 키워드를 사용할 수 있습니다.
하지만 이러한 변수들은 각각의 범위를 가지는데 const와 let은 블록 레벨. 즉, 중괄호{} 안에서만 범위를 가지고, var는 함수 레벨. 즉, 선언된 함수 전체에서의 범위를 가집니다.
const로 선언한 변수 num은 if문 안에서 정상적으로 작동합니다.
하지만 출력문인 console.log()가 if문 밖으로 나왔을 때, num이 정의되지 않았다는 에러 메세지가 발생합니다.
이는 let 키워드로 선언했을 때도 마찬가지입니다. 그 이유는 const와 let 둘다 블록 레벨의 키워드이기 때문입니다.
하지만 var로 선언했을 때는 정상적으로 출력되는 것을 볼 수 있는데, 그 이유는 var 키워드가 함수 레벨의 키워드이며, 함수 안에 어디에 있더라도 그 범위에 해당되기 때문입니다.
반응형
'JavaScript' 카테고리의 다른 글
[Javascript] 함수 (0) | 2023.05.01 |
---|---|
[Javascript] 반복문 for (0) | 2023.04.26 |
[Javascript] 조건문 (0) | 2023.04.26 |
[Javascript] 삼항 연산자 (0) | 2023.04.21 |
[Javascript] 비교 연산자 & 논리 연산자 (0) | 2023.04.21 |