인프런 커뮤니티 질문&답변

코딩공부님의 프로필 이미지
코딩공부

작성한 질문수

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

async/await으로 가독성 높이기

for 문 질문드립니다!

작성

·

247

0

for(i = 0; i <= 5; i++) { setTimeout(()=>{ showBall(winBalls[i], $result); }, (i + 1) * 1000); };

이 코드가 제대로 동작안해서 해보니

let i = 0 ; 면 되는것을 확인했습니다.
여기 질문답변에서도 동일하게 답변해주신것 확인했는데, 왜 let 을 안붙이면 동작안하고 빈 숫자만 나오는지 알수있을까요?

그냥 for문은 let 을 붙인다고 알고 있으면 되는부분일까요?

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

이거 강좌에서 설명하는 내용입니다

코딩공부님의 프로필 이미지
코딩공부
질문자

반복문 강의 다시 봤는데, 잘 모르겠어서..ㅠ 설명해주신 강의 있는지 다시 찾아보겠습니다. 감사합니다~

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

반복문 강의에 나오지 않고 지금 강의에 나옵니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

바로 다음 강의네요

코딩공부님의 프로필 이미지
코딩공부
질문자

답변감사합니다!

0

코딩공부님의 프로필 이미지
코딩공부
질문자

let 과 var를 둘다 안쓰면 기본적으로 var로 인식되기 때문에 클로져 문제가 발생되어서 나타나는 현상이라고 보면 될까요?
let 이런 문제때문에 해결방법으로 나온거니 정의 내려주지 않을경우 기본적인 자바스크립트 동작으로 실행되고 클로져 문제가 발생되기 때문에 let 으로 해주어야 한다고 이해하면될까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 기본적으로 var입니다.

let이 이 문제를 해결하기위해 나왔다기보다는 let이 스코프가 다른 특성때문에 이 문제를 쉽게 해결할 수 있다가 맞을 것 같습니다.

코딩공부님의 프로필 이미지
코딩공부
질문자

네 답변감사합니다~!

코딩공부님의 프로필 이미지
코딩공부

작성한 질문수

질문하기