ProgrammingLang/typescript

[typescript] 5. 제어문

jinkwon.kim 2018. 12. 5. 16:17
728x90
반응형

[typescript] 5. 제어문




1. 제어문 이란?

  - 코드의 흐름을 제어 합니다.

  - 조건 문과 반복 문이 존재 합니다.


2. 조건 문

  - 조건에 맞을때 해당 코드를 수 행 합니다. 

  1) if 문

    - 구문

     if (<true 조건식 Or  True 값>) {

         실행 할 코드

}

let able:boolean = true;

if (able) {
console.log("test");
}


  2) switch 문

    (1) 구문

     switch(표현식) {

        case 값:

          ... 수행 할 코드

break;

        default:

          ... 조건에 맞는 것이 없을 시 수행 할 코드

break;

}


(2) 특이 사항

  - fall-through 기능 제어 

    > 간혹의 경우 여러개의 case문의 결과를 동일 하게  처리 하기 위해서 case문을 탗출하는 break 문을 

      생략 하여 쓰는 경우가 존재합니다. 이렇게 case 문을 제어하는것을 fall-through 라고 합니다.

    > typescript에는 이 긴능을 허용 하리 말지를 tsconfig.json파일에  compilerOptions 

      의 "noFallthroughCasesInSwitch": true를 통해서 제어 합니다.

  > 에러 정보

TSError: ⨯ Unable to compile TypeScript

test.ts (38,5): Fallthrough case in switch. (7029)


(3) 사용 예제

 - 숫자형 표현 식

let value: number = 1;

switch (value) { // 숫자형 조건문
case 1:
console.log("1");
break;
case 2:
console.log("2");
break;
default:
console.log("default");
break;
}


    (2) 숫자 연산 표현 식

let value: number = 1;

switch (value + 1) { // 숫자형이 나오는 조건 식
case 1:
console.log("1");
break;
case 2:
console.log("2");
break;
default:
console.log("default");
break;
}


      - 문자열 표현식 (C언어에서 허용 되지 않는 표현식)

        * typescript에는 any라는 타입이 존재하여 가능 합니다.

let str: any ="hi"

switch(str) {
case "hi":
console.log("hi, doitnow-man");
break;
case 1:
console.log("1");
break;
default:
console.log("who are you?");
break;
}


3. 반복문 

  - 조건이 만족하는 동안 코드를 반복 해서 수행 합니다

.

  1) for 계열

    (1) 기본적인 for 문

       for (변수 초기화 : 조건식 : 증감식) {

          ... 반복 코드

       }


    (2) for in 문 (ES5 부터 지원)

      - index 통해서 값을 가져옵니다.

      - index가 숫자가 아닌 키라고 하면, 객체 리터럴을 이용 합니다.

      - 구문

      for (변수 in 이터러블) {

        ... 반복 코드

      }    

     

      - 배열 예제

let list = ['appele', 'cola', '사이다'];

for (let index in list) {
console.log(index, list[index]);
}


      - 객체 예제

let obj:any = {"a":"apple", "b":"bird", "c":"crazy"};

for (let property in obj) {
console.log(property, obj[property])
}


    (3) for of 문 (ES6, typescript 1.5 부터 지원)

      - 값을 바로  가져 옵니다.

      - 이터러블(iterable) : 반복 가능한 객체인, 배열, 문자열, DOM 컬렉션, MAP과 set등을 말합니다.

      - const를 사용하여 변수를 사용 가능합니다. 이유는 for of 는 Symbol.iterator의 구현을 통해서 각 이터레이션 값

        의 요소를 가져오기 때문에 가능합니다. 

        일반 for 문에서는 변수 값을 증가 할수 없기 때문에 사용 할수 없습니다.


      for (변수 of 이터러블) {

        ... 반복 코드

      }

let iterable = "hello";

for (const char of iterable) {
console.log(char);
}


  2) while 문 계열

    (1) 기본 while

      while ( 참/거짓을 판별 할 수 있는 조건문) {

          .. 반복 코드

      }


    (2) do while

        - 최초 한번은 실행 하기위해서 사용

      do {

          .. 반복 코드

      } while (반복 조) {


728x90
반응형