Class: 제로베이스
Created: November 29, 2022 3:36 PM
Type: Javascript
강의 명: 이론부터 실전까지 모든 것을 담은 자료구조/알고리즘
선언문(Init Expression), 조건문(Test Expression), 증감문(Update Expression) 형태로 이루어진 반복문
조건문이 fail이 되기 전까지 코드 블록을 계속적으로 반복 수행
선언문, 조건문, 증감문 자리에 공백 입력 가능
- for(선언문; 조건문; 증감문) { }
let s = ''
for(let i=0; i<3;i++) { // 결과값 :
s += '#' // #
console.log(s); // ##
} // ###
for(let i=0; i<3;i++) {
let s = ''
for(let j=0; j<3; j++) {
s += '#' // 결과값 :
} // ###
console.log(s) // ###
} // ###
객체의 key, value 형태를 반복하여 수행하는데 최적화 된 유형
첫 번째부터 마지막까지, 객체의 키 개수만큼 반복한다.
Collection 객체 자체가 Symbol.iterator 속성을 가지고 있어야 동작 가능한 유형
배열이나 문자열에만 사용 가능함
for-in
문이 객체의 속성들을 순회하기 위한 구문이라면, for-of
문은 배열의 요소들, 즉 data 를 순회하기 위한 구문이다. 정확히는 일반 Object
요소를 제외한 Array
, Map
, Set
등의 객체 타입을 순회할 수 있다. (추가로 String
도 가능하다. 문자열로 이루어진 배열로 보기 때문)’
let text = "javascript";
let result = ""
for(let x of text) {
result += x
}
console.log(result) //javascript
조건문이 참일 때 코드 블록을 계속해서 반복 수행하는 반복문
- for 문에 비해 선언문과 증감문 없이 loop를 수행하며, 무한 loop 등 수행시 많이 사용
- 조건문을 코드 블록보다 아래로 옮긴 do … while 반복문도 존재함(최소 한번의 수행은 꼭 필요할 때 많이 사용)
- while 문은 조건문이 참이어야 수행하지만, do… while 문은 일단 수행하고 조건이 참인지 그 후에 판단함.
let i = 0;
while(i<3) {
console.log(i);
i++ // 무한 루프에 빠지지 않으려면 변수의 업데이트가 중요함
} // 결과값: 0 / 1 / 2
반복문 수행 시 코드 블록을 탈출할 때 사용하는 식별자
다중 반복문일 경우 가장 안쪽의 반복문을 종료
Label 을 통하여 다증 반복문 한번에 종료 가능하다.
반복문 수행 시 코드 블록 실행을 해당 라인에서 중지하고 블록 코드를 종료 시킨 후 반복문 내 명시된 조건을 판단
// break
let text = "";
for(let i = 0; i<10; i++) {
if(i ===3) break;
text += i;
}
console.log(text); // 012
// i가 3이되자 반복문 빠져나옴
//continue
text = "";
for(let i = 0; i<10; i++) {
if(i === 3) continue;
text += i;
}
console.log(text); //012456789
// i가 3일 때는 뒤에 실행하지 않고 반복문 처음으로 돌아감
프로그램 내 특정 영역을 지정하여 별도 이름을 붙이는 식별자
break와 continue를 사용하는 반복문 안에서만 사용 가능하며, break와 continue 지시자 위에 있어야 함.
일반적으로 잘 사용하는 건 아님.