ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • d.ts
    카테고리 없음 2023. 12. 19. 15:08

    d.ts란?

     

    당연히 TS로 생기기전 JS로 적엇을것,\

    JS로도 TS에도 사용할 수있는 언어

     

    JS파일을 TS로 호환시켜 사용하는 파일


    그렇기에 우리는 TS로 JS와 호환성을 유지해야한다.

     

    즉, 내가 JS에 있는 라이브러리등 도구들은 TS에서 쓸 수 없어가 아니라

     

    JS와 TS가 공존하는것


     

    TS라이브러리의 등장

     

    실제로 TS를 사용하다보면 TYPES@TYPES을 보게되고 설치된 라이브러리를 볼 수 있다

     

    외부 라이브러리에서 타입정보를 조횐다.

     

    즉 PAKAGE.JSON을 사용 할 수 있다. 

     

    보통 D.TS로 끝난다.

     


     

    D.TS란 

     

    라이브러리의 TS 타입을 제공해준다.

     

    즉, D.TS가 있기에 JS의 라이브러리를 가져와 쓸 수 있다.

     

    뿐만아나리ㅏ 타입을 추론 할 수 도있다. 

    타입이 명시가 되지 않았을 때 컴파일러가 알아서 해당 타입에 대해 추론을 하는 것

     

    이런 것을 D.TS로 한다.

     

    그렇기에 TS에서도 JS의 라이브러리를 쓸 수 있구나.


     

    이렇게되면 내가 아끼던 JS을 버려야하나

     

    TS에서도 JS의 모든것을 한줄도 바꾸지 않고 쓸 수 있다.


     

    npm install typescript -g

    npm init -y

    tsc --init

    "allowJs": true // TypeScript 프로젝트에 JavaScript 파일 허용 여부
    "checkJs": true // JavaScript 파일 타입 체크 여부

     

    js을 ts로 바꾸고 

    app.ts로 실행한다.

     

    npx ts-node app.ts


    테스트하기 

    /**
     * @param {number} a
     * @param {number} b
     * @returns {number}
     */
    export function add(a, b) { // export를 넣지 않으면 import 할 수 없는 것 아시죠?
      return a + b;
    }

     

    npx tsc test.js --declaration --allowJs --emitDeclarationOnly --outDir types

     

    /**
     * @param {number} a
     * @param {number} b
     * @returns {number}
     */
    export function add(a: number, b: number): number;

     

    import { add } from "./test";
    console.log(add(1, 2));

     

    npx ts-node foo.ts

     

     

     

Designed by Tistory.