ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수 타입
    Typescript 2023. 1. 16. 18:21

    Optional Parameter

    - 함수의 파라미터가 들어오지 않을 것 같으면 "?"(옵셔널 파라미터)를 사용한다.

    // JS
    function add2(n1, n2) {
      if (!n2) return n1;
      return n1 + n2;
    }
    
    // TS
    function add2(n1: number, n2?: number): number {
      if (!n2) return n1;
      return n1 + n2;
    }
    
    const a2 = add2(1, 2);
    const b2 = add2(10, 20, 30); // Error, js라면 30은 undifined가 나올것이다.
    const c2 = add2(10);
    
    function add2(n1?: number, n2: number): number { // 맨 앞자리는 불가
      if (!n2) return n1;
      return n1 + n2;
    }
    
    function add2(n1: number, n2?: number, n3?: number): number {
      if (!n2) return n1;
      return n1 + n2;
    }

     

     

     

    Default Parameter

    - 타입스크립트의 특성은 아니고, 자바스크립트에도 있는 특성? 기능 이다.

    - 아래 코드에서 n2 파라미터가 들어오지 않는다면 초기값 0으로 할당된다.

    // JS
    function add3(n1, n2 = 0) {
      if (!n2) return n1;
      return n1 + n2;
    }
    
    const a3 = add3(1, 2);
    const c3 = add3(10);
    // TS
    function add3(n1: number, n2: number = 0): number {
      if (!n2) return n1;
      return n1 + n2;
    }
    
    const a3 = add3(1, 2);
    const c3 = add3(10);

     

     

     

    Rest Parameter

    - 이것도 자바스크립트에 있는 기능이다.

    - 할당되고 남은 파라미터들을 배열로 만들어주는 기능

    // JS
    function add4(n1, ...nums) {
    // n1에는 10이 정상적으로 할당되고, 나머지는
    // let nums = [20,30,40] 으로 값을 받아준다.
      let totalOfNums = 0;
      for (let key in nums) {
        totalOfNums += nums[key];
      }
      return n1 + totalOfNums;
    }
    
    const result = add4(10, 20, 30, 40);
    // TS
    function add4(n1: number, ...nums: number[]): number {
      let totalOfNums = 0;
      for (let key in nums) {
        totalOfNums += nums[key];
      }
      return n1 + totalOfNums;
    }
    
    const result = add4(10, 20, 30, 40);

    'Typescript' 카테고리의 다른 글

    enum 타입,  (0) 2023.01.16
    기본 타입  (0) 2023.01.16
    Typescript 설치 및 세팅  (0) 2023.01.16
Designed by Tistory.