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 |