PoiemaWeb - 제어문

3863 단어 JavaScriptJavaScript

제어문

제어문 (Control flow Statement)은 주어진 조건에 따라 코드블록에 실행(조건문)하거나 반복 실행(반복문)할 때 사용한다. 일반적으로 코드는 위에서 아래방향으로 순차적으로 실행된다. 제어문은 코드의 실행순서를 인위적으로 제어할 수 있다.

1.블록문

블록문(Block Statement / Compound Statement)는 0개 이상의 문들을 중괄호로 묶은 것으로 코드 블록 또는 블록으로 불리기도 한다. 자바스크립트는 블록문을 하나의 단위로 취급한다. 블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수 선언문에서 사용한다. 문의 끝에는 일반적으로 세미콜론(;)을 붙이는 것이 일반적이지만 블록문은 붙이지 않는다.

2.조건문

조건문(conditional statement)은 주어진 조건식(conditional expression)의 평가 결과에 따라 코드 블럭(블록문)의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식이다.

2.1 if ... else

if ... else문은 주어진 조건식(불리언 값으로 평가될 수 있는 표현식)의 평가 결과, 즉 논리적 참, 거짓에 의해 실행할 코드 블록을 결정한다. 만약 조건식의 평가 결과가 불리언이 아니면 불리언 값으로 강제 변환되어 논리적 참 논리적 거짓으로 구별한다. 조건식의 평가 결과가 참(true)일 경우, if문 다음의 코드 블록이 실행되고 거짓(false)일 경우, else 문 다음의 코드 블록이 실행된다. 조건식을 추가하고 싶으면 else if문을 사용한다.

대부분의 if ... else문은 삼항 조건 연산자로 바꿔 쓸 수 있다.

var x = 2;
var result;
if(x % 2){
	result = '홀수';
}else{
	result = '짝수';
}

위 코드는 아래와 같은 삼항 조건 연산자로 바꿔 쓸 수 있다.

var x = 2;
var result = x % 2 ? '홀수' : '짝수';

세가지의 경우에는 아래와 같이 나타낼 수 있다.

var num = 2;
var kind = num ? (num > 0 ? '양수' : '음수') : '영';

2.2 switch문

switch문은 switch문의 표현식을 평가혀여 그 값과 일치하는 표현식을 갖는 case문으로 실행순서를 이동시킨다. switch문의 표현식과 일치하는 case 표현식이 존재하지 않는다면 실행순서는 default 문으로 이동한다. default는 옵션으로 사용할 수도 있고 사용하지 않을 수도 있다.

if...else문은 논리적 참, 거짓으로 실행할 코드 블록을 결정한다. switch문은 논리적 참, 거짓 보다는 다양한 상황(case)에 따라 실행할 코드블록을 결정할 때 사용한다. switch문은 case, default, break등 다양한 키워드를 사용해야하고 폴 스루가 발생하는 등 문법도 복잡하다. if ... else문으로 해결할 수 있으면 if ... else문을 사용하는 편이 좋다. 하지만 switch문을 사용했을 때 가독성이 더 좋다면 switch문을 사용하는 편이 좋다.

3. 반복문

반복문 (Loop statement)은 주어진 조건식(conditional expression)의 평가 결과가 참인 경우 코드블럭을 실행한다. 그 후 조건식을 다시 검사하며 여전히 참인 경우 코드블럭을 다시 실행한다. 이는 조건식의 평가 결과가 거짓일 때 까지 반복된다.

좋은 웹페이지 즐겨찾기