기초 제어문 - 반복문

지은·2022년 8월 24일
1

JavaScript

목록 보기
5/42
post-custom-banner

for 구문

for([초기화]; [조건문]; [증감문]) {
	// 반복할 코드
}
for(let i = 0; i < 5; i = i + 1) {
	console.log(i);        // 0 1 2 3 4 (5번 실행)
}
  • 초기화 구문(initialization) : 주로 카운터 변수를 초기화할 때 사용한다.
    var 또는 let 키워드를 사용해 새로운 변수를 선언할 수도 있다.
    • 이때, var 키워드로 선언한 변수는 반복문에 제한되지 않는다.
    • 이때, let 키워드로 선언한 변수는 반복문의 지역변수가 된다.
  • 조건문(condition) : 조건문이 참이라면 반복문을 실행하고, 조건문이 거짓이라면 for문을 끝낸다.
  • 증감문(final-expresstion) : 매 반복 후 카운터 변수를 증가 시키거나 감소 시킨다.

이중 반복문

이중 반복문을 이용한 구구단을 출력하는 함수

function mulTablePrinter() {
  for (let num = 2; num <= 9; num = num + 1) {
    for (let i = 1; i <= 9; i = i + 1) {
      console.log(`${num} * ${i} = ${num * i}`);
    }
  }
}
mulTablePrinter();

표현식 삽입법(Expression interploation)

문자열에 표현식을 삽입하기 위해 + 사용

"string text" + expression + "string text"

템플릿 리터럴(Template literals)

: 내장된 표현식을 허용하는 문자열 리터럴
백틱(` `)으로 문자열을 감싸고, $ 중괄호{ }를 이용하여 표현식을 넣을 수 있다.

`string text ${expression} string text`

while 구문

[초기화]
while([조건문]) {
	// 반복할 코드
	[증감문]
}
let i = 0;
while(i < 5) {
	console.log(i);
  	i = i + 1;        // 0 1 2 3 4 (5번 실행)
}
  • 조건문이 참이라면 반복문을 계속해서 실행하고, 조건문이 거짓이라면 while문을 끝낸다.

증감연산자 i++++i의 차이

둘 다 i의 값을 1 증가시킨다.
i++ : i 값을 증가시키지만, 증가하기 전의 i 값을 반환한다.

let i = 10;
let j = i++;    // j = 10
console.log(i); // i = 11

++i : i 값을 증가시킨 후, 증가된 i 값을 반환한다.

let i = 10;
let j = ++i;    // j = 11
console.log(i); // i = 11

break

: break문은 반복문을 완전히 종료하고, 그 다음 문으로 프로그램 제어를 넘긴다.

let i = 0;

while (i < 6) { // i = 0, 1, 2, 3, 4, 5 동안 6번 반복하기로 되어 있는데,
  if (i === 3) { // 만약 i가 3이라면,
    break; // 반복문을 종료하고, 반복문을 빠져나간다.
  }
  i++; // i를 1씩 더한다.
}
// 반복문 종료
console.log(i); // 3이 출력된다.

continue

: continue문은 현재의 반복문을 종료하고, 반복문의 처음으로 돌아가 다음 반복문을 실행한다.

for(i = 0; i < 6; i++) { // i = 0, 1, 2, 3, 4, 5 동안 6번 반복하기로 되어 있는데,
  if (i === 3) { // 만약 i가 3이라면,
    continue; // 현재 반복문을 종료하고, 다음 반복문으로 돌아간다.
  }
  console.log(i); // 3을 건너뛰고, 0, 1, 2, 4, 5가 차례대로 출력된다.
}
//반복문 종료

❔ 학습 후 궁금한 점

  • i = i + 1, i++, ++i는 어떤 차이가 있는지?
  • 이중 반복문의 사용법을 정확하게 숙지하지 못했다.
profile
블로그 이전 -> https://janechun.tistory.com
post-custom-banner

0개의 댓글