1. while
조건문이 참이기만 하면 문장을 계속 수행함
while (조건문) {
<조건이 참이면 수행>
}

2. for문
특정한 조건이 거짓으로 판별될 때까지 반복함
for (<초기문>; <조건문>; <증감문>) {
<조건이 참인 동안에만 반복>
}

반복문 for (let i = 0; i < 6; i++)를 진입하면, 먼저 변수 let i = 0을 선언한다.
그 후 조건문 i < 6;을 평가하고, 참이면 코드 블럭을 수행함
다음 코드 블록 수행 후에, i++를 수행하여 i를 증가시킴
위 과정을 반복

참고로 초기 선언을 반드시 let이나 var로 해줘야함
for (let i = 0; i < arr.length; i++) {}의 경우에, 최초 정의한 let i = 0을 재할당해서 i = 1, i = 2, ...로 증가시키므로,
재할당 불가능한 const를 사용하면, 에러남

3. for in
객체(object)의 속성을 순회할때 사용함

객체의 key값을 접근하지, value에 접근하지는 않는다
for (variable in object) {<statement>}
속성의 이름으로 순회함
그래서 딕셔너리 순회할때 적절함

단순 배열을 순회하면, index로 순회해버려서 value를 부르지 않는다
그리고 인덱스 순으로 순회한다는 보장도 없어서???? 권장하지는 않는데
아무튼 중요한게 배열의 진짜 value를 가져오지는 않는다

4. for of
반복 가능한 iterable 객체를 순회할때 사용한다
Array, Set, String 등등
for in이 배열의 원소 이름인 index를 가져오는것과는 다르게 배열의 실제 value를 가져온다

따라서 object가 아닌 array같은 iterable한 것에 순회하기에 적합하다
심지어 of로는 딕셔너리 순회도 못하네

for in과 for of는 const number of numbers같이 const를 사용하고 있는데... 이는 재할당이 아니고 해당 변수를 새로 정의해서 사용하므로 에러가 발생하지 않는다

continue???
파이썬처럼 continue도 존재함
for (초기;조건;증감) {코드블럭continue}에서 초기 > 조건검사 > 코드블럭 > 증감으로 가는데,
코드블럭을 만나다가 continue를 만나면 수행하지 못한 코드블럭의 나머지 부분은 전부 건너뛰고, 증감으로 바로 간다
기능이 파이썬이랑 똑같

반복문 내부의
break도 마찬가지로, 해당 반복문을 탈출하는데 프로그램의 흐름이 복잡하다고 사용을 권장하지는 않는다
그리고 조금 특이한건 중첩된 반복문을 한번에 빠져나오게 할수도 있다

반복문 옆에 label문이라고 label을 붙이면.. 기본적으로는 break를 만나면 해당하는 반복문을 탈출하지만

break outer;라고 한다면, outer라고 이름이 붙은 외부 반복문을 한번에 빠져나간다
복잡해질 우려가 있어서 사용을 권장하지는 않는다고함
https://velog.io/@sebellko/5.-%EC%A0%9C%EC%96%B4%EB%AC%B8
[Javascript] 5. 제어문
내가 이해한대로 정리한 내용이니 정확하지 않을 수 있다. 😉 제어문 5.1 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부르기도 한다. 5.2 조건문 조건문
velog.io
'프로그래밍 > 비전공자를 위한 자바스크립트' 카테고리의 다른 글
자바스크립트 기초문법7 - array에 대하여 - (0) | 2022.10.20 |
---|---|
자바스크립트 기초문법6 -사용자정의 함수 작성- (0) | 2022.10.20 |
자바스크립트 기초문법4 -조건문- (0) | 2022.10.20 |
자바스크립트 기초문법3 -연산자- (0) | 2022.10.20 |
자바스크립트 기초문법2 -데이터 타입- (0) | 2022.10.20 |