-
2023 - 05 - 18 반복문 (for문, for~in문, while문, do while문, break문, continue문)Today I Learned/TIL 05 2023. 6. 1. 07:21
오늘 할일
자바스크립트 1주차 강의 듣기
오늘 배운 것
반복문 (for문, for ~in문, while문, do while문, break문, continue문)
for문과 while 문에서의 if문을 통한 분기처리가 중요하다.
1. for문의 형태
for(초깃값; 조건식; 증감식){ //main logic } 해석 : i라는 변수는 0부터 시작, 10에 도달하기 전까지 계속된다. 1사이클이 돌고나면 1을 더한다.
for(let i = 0; i < 10; i++){ console.log(i); } // 0 1 2 3 4 5 6 7 8 9
배열과 for문은 짝궁이다. 배열이 주어질 경우 항상 조건식에 length를 쓴다.그냥 i 는 인덱스값이 몇번째인지만.
Arr[ i ]는인덱스값의 요소를 출력.
const Arr = ['one', 'two', 'three', 'four', 'five']; for (let i = 0; i < Arr.length; i++) { console.log(i); console.log(Arr[i]); } console.log(i); / 0 1 2 3 4 (인덱스값이 몇번째인지만 출력) console.log(Arr[i]); / one two three for five (인덱스값의 요소를 출력)
문제 : 0부터 10까지 수 중 2의 배수만 출력해보시오.for (let i = 0; i <= 10; i++){ if (i >= 2 && i % 2 === 0){ console.log[i + "는 2의 배수입니다."); } } // 2는 2의 배수입니다. // 4는 2의 배수입니다. // 6는 2의 배수입니다. // 8는 2의 배수입니다. // 10는 2의 배수입니다. 여기서 console.log에서 인덱스가 몇번째인지가 아닌, 요소자체를 출력해야하므로 대괄호를 쓰는게 맞으나, 인덱스도 0부터 시작하고 요소도 0부터 시작해서 인덱스값이 요소와 동일하므로 대괄호 생략함.
2. for~ in문 (객체 속성을 출력) => 형태 : for (let key in 변수명)let person = { name : "john", age : 30, gender : "male", }; for (let key in person){ console.log(key + " : " + person[key]); } 객체의 value값을 출력하려면 : 객체 대괄호 열고 key입력. -> person[key]이런식으로. // name : john // age : 30 // gender : male
3. while문 형태
while (조건){ main logic; 증감식; }
let i = 0; while (i < 10) { console.log(i); i++; } // 0 1 2 3 4 5 6 7 8 9
let count = 0; while (count < 5) { console.log(count); count++; if (count === 3) { break; } } // 0 1 2
while문을 활용해서 3초과 100미만의 숫자중 5의 배수를 출력하시오.let i = 3; while (i < 100) { if(i % 5 === 0 && i >= 5){ console.log(i + "는 5의 배수입니다."); } i++; } // 5부터 95까지 다 나옴. ~는 5의 배수입니다.
4. do while문 형태일단 한 번은 코드를 실행하고, 그 후에 조건식을 체크하여 반복 여부를 결정한다.
do{ main logic; 증감식; } while (조건); // 코드 먼저 실행하고 while문 실행
let i = 0; do { console.log(i); i++; } while (i < 10); // 0 1 2 3 4 5 6 7 8 9
5. break문. break를 만나면 for문을 멈춘다. (break문과 continue문은 항상 for문과 함께 쓰임)0부터 10까지 1씩 늘어나는 for문을 작성하되, 5가되면 멈추세요.
for (let i = 0; i <= 10; i++){ if (i === 5){ break; } console.log(i); } // 0 1 2 3 4 i가 5가 되면 break시켜라. break를 만나면 for문을 멈춘다.
6. continue문. continue문을 만나면 해당 조건은 스킵하고 넘어간다.for (let i = 0; i <= 10; i++){ if (i === 5){ continue; } console.log(i); } // 0 1 2 3 4 6 7 8 9 10 i가 5가 되면 continue해라 (스킵해라.) 5만 스킵하고 다음으로 넘어감.
'Today I Learned > TIL 05' 카테고리의 다른 글
2023 - 05 - 20 일급객체로써의 함수(콜백함수, 고차함수) (0) 2023.06.01 2023 - 05 - 19 구조분해할당, ES6 , 단축 속성명, 전개구문 (스프레드 오퍼레이터), 나머지 매개변수 (레스트 파라미터), 템플릿 리터럴 (백틱) (0) 2023.06.01 2023 - 05 - 17 배열, 배열 메서드 (중요) (0) 2023.06.01 2023 - 05 - 16 객체, 객체 메서드, 생성자함수, 문자열화, 객체병합 (중요) (0) 2023.06.01 2023 - 05 - 15 조건문, 조건부실행, 삼항연산자, 단축평가 (0) 2023.06.01