본문 바로가기
javascript

기본개념2 statement

by rami_ 2022. 1. 7.

continue

현재 또는 레이블이 지정된 루프의 현재 반복에서 명령문의 실행을 종료하고 반복문의 처음으로 돌아가여 루프문의 다음코드를 실행함.

for, for~in, while, do~while에서 사용.

let text = '';
for(let i=0; i<10; i++){
	if(i===3) {
    continue; //i가 3일 때 이 반복된 문장을 종료하고 다음 숫자를 반복함.
    }
    text = text + i; //맨 처음 i에 0이 할당되면 0을 text에 string으로 할당함.
    //이후 i가 1일 때 '0'과 +1을 결합함. 
    //이렇게 연결해 나가면 됨. 3일 때는 문장을 종료하므로 기록되지 않음.
   }
   
   console.log(text); //"012456789"

 

switch

switch(expression){

 case n :

     code block

     break;

 case n :

    code block

    break;

 default : 

     default code block

}

스위치 표현식이 한번 계산됨. 계산 된 값은 여러 case와 비교됨.

일치하게 되면 그에 해당하는 블럭의 코드를 실행

const expr = 'papayas';
switch(expr){
	case 'oranges';
    console.log('oranges are $0.59 a pound');
    break;
    case 'mangoes';
    case 'papayas';
    	console.log('mangoes and papayas are $2.79 a pound'); //expr에 변수로 papayas가 할당되었고
        //case중 papayas가 있으므로 실행됨.
        break;
   default;
   console.log('sorry, we are out of ${expr}.');
   }

 

try ..catch

 try{

   alert('먼저 이 구문 실행');

} catch(err) { //위 try 블록에서 예외(에러)가 발생시 이 블록을 실행한다.

  alert('위 try블록에서 에러가 발생하면 이 블록을 실행함');

  console.log(err.name);

} finally {

  alert('예외 발생 여부와 상관없이 이 블록을 실행한다');

}

 

throw..catch

예외가 발생하면 현재 함수의 실행이 중지되고 첫 catch블록으로 전달됨. 함수사이에 호출자 catch블록이 없으면 종료됨.

function getRectArea(width, height){
	if(isNaN(width) || inNaN(height)){
    	throw 'Parameter is not a number!';
        }
    }
    
    try{
    getRectArea(3, 'A'); //try문에서 두개의 파라미터로 정한 값을 if문에 넣으면 height가 NaN가 되면서 throw부분이 반환됨.
 } catch(e) {
 	console.error(e);
    }

 

'javascript' 카테고리의 다른 글

기본개념 4 Number 오브젝트 프로퍼티  (0) 2022.01.09
기본개념 3 Object  (0) 2022.01.07
기본개념1  (0) 2022.01.06
Array 오브젝트 reverse()  (0) 2021.11.14
Array 오브젝트 엘리먼트 삭제  (0) 2021.11.14