JavaScript 루프에서 괄호 생략의 문제점
루프에서 중괄호를 생략할 수 있지만, 그렇게 하면 코드가 종종 오류를 유발하므로 그렇게 하는 것을 매우 권장하지 않습니다.
예제를 통해 살펴보겠습니다. 다음 코드가 있다고 가정해 봅시다:
for (let i = 0; i <= 9; i++)
console.log(i); // 0부터 9까지의 숫자를 출력합니다
위에 제시된 코드에 작은 수정을 가해 보겠습니다(무엇이 수정되었는지 찾아보세요) - 그러면 코드가 작동을 멈춥니다:
for (let i = 0; i <= 9; i++);
console.log(i); // 오류를 출력합니다
그럼, 제가 무엇을 수정했을까요?
문제는 제가 루프의 ) 뒤에 세미콜론을 넣었기 때문에 발생했습니다.
이 경우 소위 본문 없는 루프가 됩니다: 루프는 내부에서만 회전할 뿐, 다음 줄은 더 이상 루프에 속하지 않습니다.
따라서 문제를 피하기 위해, 저는 항상 루프에 중괄호를 사용할 것을 권장합니다.
다음 코드를 실행한 결과가 무엇일지 설명해 보세요:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);