[JavaScript] While, for, switch

Jin·2021년 10월 14일
0

JavaScript

목록 보기
4/12
post-thumbnail

1. While

기본 문법

let i = 0;
while (i<3) {
  alert(i);
  i++;
}

do.. while 반복문

do.. while 문법을 사용하면 condition을 반복문 본문 아래로 옮길 수 있다.

do{
  //반복문 본문
} while (condition);
let i = 0;
do {
  alert(i);
  i++;
} while (i<3);

do..while 문법은 조건이 truthy 인지 아닌지 상관없이, 본문을 최소한 한번 이라도 실행하고 싶을 때만 사용해야 한다. 대다수상황은 기본문 법 사용하는게 적합하다.

2. for 반복문

기본문법

for ( begin; condition; step) {
  // 반복문 본문
}

for (let i=0; i<3; i ++) {
  alert(i);
}

구성 요소 생략하기

for문의 구성 요소를 생략하는 것도 가능하다.

let i = 0;
for (; i<3; i++){		// begin 생략
  alert(i);
}

let i =0;
for (; i<3 ;) {  // step도 생략 가능
  alert(i++);
}

구성요소를 생략할 때 주의할 점은 두개의 ;을 꼭 넣어줘야 한다. 하나라도 없으면 문법 에러가 발생.

3. label

여러 개의 중첩 반복문을 한 번에 빠져나와야 하는 경우에 사용

outer : for (let i=0; i<3; i++) {
  for (let j=0; j<3; j++{
    let input = prompt('(${i},${j})의 값', '');
    if (!input) break outer;
	}
}
alert('완료!');

위의 코드에서 break outer는 outer라는 레이블이 붙은 반복문을 찾고, 해당 반복문을 빠져나오게 해준다.

4. swtich문

복수의 if 조건문은 switch문으로 바꿀 수 있다.
switch문을 사용한 비교법은 특정 변수를 다양한 상황에서 비교할 수 있게 해준다. 코드 자체가 비교 상황을 잘 설명한다는 장점도 있다.

1) 문법

switch문은 하나 이상의 case문으로 구성된다. default문도 있지만 필수는 아니다.

swtich(x){
  case 'value1':
  	...
      [break]
  case 'value2':
  	...
      [break]
  
  default:
  	...
      [break]
}
  • 변수 x의 값과 첫 번째 case문의 값 'value1'을 일치 비교한 후, 두번째 case문의 'value2'와 비교. 이런 과정으로 계속 이어진다.
  • 만약 일치한다면 해당 case문의 아래의 코드가 실행된다. 이 때, break문을 만나거나 swtich문이 끝나면 코드의 실행도 멈춘다.
  • 일치하는 case문이 없다면, default문 아래의 코드가 실행된다(default문이 있을 경우)
  • case문 안에 break문이 없으면 조건에 부합하는지 여부 따지지 않고 이어지는 case문을 실행한다

2) 여러 개의 'case'문 묶기

코드가 같은 case문은 한데 묶을 수 있다.

let a = 3;

switch (a) {
  case 4:
    alert('계산이 맞습니다!');
    break;

  case 3: // (*) 두 case문을 묶음
  case 5:
    alert('계산이 틀립니다!');
    alert("수학 수업을 다시 들어보는걸 권유 드립니다.");
    break;

  default:
    alert('계산 결과가 이상하네요.');
}

위 예시에서 case 3이 참인 경우 * 표시한 줄 아래 코드가 실행 되는데, 그 아래 줄에 break가 없고 case5 가 있기 때문에 break를 만날때 까지 코드는 실행이 된다.

3) 자료형의 중요성

swtich문은 일치 비교로 조건을 확인한다. 비교하려는 값과 case문의 값의 형과 값이 같아야 해당 case 문이 실행이 된다.

prompt를 통해 입력이 된 값들은 문자열로 저장이 되므로 주의하자!

profile
내가 다시 볼려고 작성하는 블로그. 아직 열심히 공부중입니다 잘못된 내용이 있으면 댓글로 지적 부탁드립니다.

0개의 댓글