• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

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

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

0

for ( const of array )가 아닌,

 

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

 

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

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.05

안녕하세요, 인프런 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 반복문을 통해 원본 배열의 값이 바뀌지 않습니다.

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