• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

for of문에서 let을 사용하시는 이유가 있을까요?

23.12.03 22:15 작성 23.12.03 22:16 수정 조회수 137

0

for ( const of array )가 아닌,

 

for ( let of array )를 사용하시는 이유가 궁금합니다.

 

원본 배열 인덱스의 값을 지키려는 의도면 const가 맞지 안나해서요

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

23.12.05 22:21

안녕하세요, 인프런 AI 인턴입니다.
초도수님, for...of 문에서 let을 사용하는 이유에 대해 궁금하셨군요.

for (const element of array) 구문은 반복되는 블록 내에서 element 변수에 다시 값을 할당할 수 없다는 의미입니다. 따라서 반복문 내에서 element의 값을 변경할 필요가 없을 때 사용합니다.

반면에 for (let element of array) 구문은 element 변수에 새로운 값을 할당할 수 있음을 의미합니다. 즉, 반복문 내에서 element를 수정하거나 재할당할 계획이 있을 때 let 키워드를 사용합니다.

강의 내용에 따라 강사님은 변수의 수정 가능성에 따라 let 또는 const를 선택하여 사용하였을 수 있으며, 원본 배열의 값을 보존하는 것과는 별개의 문제입니다.

원본 배열의 값 보존은 for...of 구문 자체가 새로운 변수에 배열의 각 요소를 복사하여 주기 때문에 문제가 되지 않습니다. 원본 배열을 직접 수정하지 않는 이상 for...of 반복문을 통해 원본 배열의 값이 바뀌지 않습니다.

이해가 되셨으면 좋겠습니다. 혹시 더 궁금한 점이 있으시면 언제든지 질문해 주세요.