작성
·
178
0
const와 let은 {} 블록 단위여서, 블록 밖에것은 하위 블럭안에 영향을 미치나 하위블록에서 선언된 변수는 상위 블록에서 영향을 미치지 못한다고 배웠는데,
그래서 playanimation 함수 내 전역으로 objs 등이 선언되어서
case 0~3 까지 영향을 미치는건 이해가 됬는데
case 2 안 if 안에서 선언된 objs,values 변수가 왜 playanimation함수내에서 선언된 전역변수랑 다른건지 모르겠어요
덮어씌우는? 그런 느낌일까요?
(6분 30초 쯤 부터? 언급하셨어요!)
답변 1
1
{ } 내부에서 선언된 변수이므로, 그 안에서만 사용할 수 있는 지역변수라서 그렇답니다.
아래와 같은 코드가 있는 경우,
foo는 { } 밖에도 선언이 되었고 안에도 선언이 되었는데,
{ } 안에서 콘솔에 출력을 해보면 내부에 선언된 200값을 가진 foo를 사용하게 되므로
콘솔에는 200이 출력되는 것이죠!
아아 이렇게 간단하게 보니까 한번에 이해됐어요!
매번 답변해주셔서 감사합니다 ㅠㅠ