제어문

김민수·2023년 10월 8일
0
post-thumbnail

제어문 : 조건에 따라 코드 블록을 실행(조건문)하거나, 반복 실행(반복문)할 때 사용한다.


1. 블록문

블록문 : 0개 이상의 문을 중괄호로 묶은 것

  • 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다.

2. 조건문

조건문 : 주어진 조건식의 평가 결과에 따라 코드 블록(블록문)의 실행을 결정한다.

if... else 문

// 사용 방법!
if(조건식1){
	// 조건식1이 참이면 이 코드 블록이 실행된다.
}else if(조건식2){
  	// 사용 안해도 됨
	// 조건식2가 참이면 이 코드 블록이 실행된다.
}else{
	// 조건식들이 거짓이면 이 코드 블록이 실행된다.
}


// 특징 1 : 문이 하나라면 중괄호 생략할 수 있다.
if(조건식) console.log(1); 


// 특징 2 : 대부분의 if... else 문은 삼항 조건 연산자로 바꿔 쓸 수 있다.
var num = 2;
var kind;

if(num > 0)      kind = '양수';
else if(num < 0) kind = '음수';
else             kind = '영';

var kind = num ? (num > 0 ? '양수' : '음수') : '영';
  • 조건식이 불리언 값이 아닌 값으로 평가되면, 자바스크립트 엔진에 의해 암묵적으로 불리언 값으로 강제 변환되어 실행할 코드 블록을 결정한다.

  • 조건에 따라 단순히 값을 결정하여 변수에 할당하는 경우 : 삼항 조건 연산자

  • 조건에 따라 실행해야 할 내용이 복잡하여 여러 줄의 문이 필요할 경우 : if..else

switch 문

switch 문 : 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문으로 실행 흐름을 옮긴다.

  • swtich 문은 논리적 참, 거짓 보다는 다양한 상황에 따라 실행할 코드 블록을 결정할 때 사용한다.
  • 조건이 많고, 가독성이 좋다 -> swtich
  • 아니면 if.. else

폴스루 : switch 문을 탈출하지 않고, switch 문이 끝날 때까지 이후의 모든 case문과 default 문을 실행한 것.

  • 상황에 따라 break를 사용하자!

3. 반복문

반복문 : 조건식의 평가 결과가 참인 경우 코드 블록을 실행한다.

for 문

for 문 : 조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다.

  • 반복 횟수가 명확할 때 주로 사용한다.
// for(변수 선언문 또는 할당문; 조건식; 증감식){
//	조건이 참인 경우 반복 실행될 문;
// }

// 여러개의 변수 선언, 조건, 증감 가능!
for(let i = 0 , j = 10; i <= 10; i++, j--){
  console.log(i, j)
}

// 다른 조건문을 색다르게..
let str = '';
for (let i = 0; str !== 'test'; i++) {
  str = 'test';
  console.log(i + 1);
}

// 무한루프!!
let i = 0;
for(;;){
  i += 1; 
  if(i == 5) break
}

while 문

while 문 : 주어진 조건식의 평가 결과가 참이면, 코드 블록을 계속 실행한다.

  • 반복 횟수가 불명확할때 주로 사용한다.
  • 조건식의 평가 결과가 불리언 값이 아니면, 불리언 값으로 강제 변환하여 논리적 참, 거짓을 구별한다.

do... while 문

do... while 문 : 코드 블록을 무조건 한 번 이상 실행하고, 조건식을 평가한다.


4. break 문

break 문 : 레이블 문, 반복문 또는 switch 문의 코드 블록을 탈출한다.

레이블 문 : 식별자가 붙은 문

// 2중 for문을 한번에 빠져나가버리기!
loop : for(let i = 0; i < 10; i++){
  for(let j = 0; j < 10; j++){
    console.log(i, j)
    if(i === 5 && j === 5) break loop
  }
}
  • 중첩된 for문 외부로 탈출할 때 유용하지만, 그 밖의 경우에는 일반적으로 권장하지 않는다.

5. continue 문

continue 문 : 반복문의 코드 블록 실행을 현 지점에서 중단하고, 증감식으로 실행 흐름을 이동시킨다.

  • if 문 내에서 실행할 코드가 길때 보통 사용한다!

0개의 댓글