작성
·
269
·
수정됨
0
for ( const of array )가 아닌,
for ( let of array )를 사용하시는 이유가 궁금합니다.
원본 배열 인덱스의 값을 지키려는 의도면 const가 맞지 안나해서요
답변 1
0
안녕하세요, 인프런 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
반복문을 통해 원본 배열의 값이 바뀌지 않습니다.
이해가 되셨으면 좋겠습니다. 혹시 더 궁금한 점이 있으시면 언제든지 질문해 주세요.