본문 바로가기

개발/JavaScript

[TS] declaration file, JSDoc

 

 

정의 파일 declaration file

- 내장된 자바스크립트 API를 위한 기본적인 타입 정의를 가짐

- 자바스크립트 코드 모양을 타입스크립트에 설명해주는 파일

 

 

* 사용자 정의 파일을 node_module 처럼 사용할 수 있도록 하기

1. myPackage.js 파일 생성

export function init(config) {
  return true;
}

export function exit(code) {
  return code + 1;
}

2. myPackage.d.ts (declaration file): 타입 정의

interface Config{
  url:string;
}

declare module "myPackage" {
  function init(config:Config): boolean;
  function exit(code:number): number;
}

3. tsconfig.json

"strict": true

4. index.ts 사용

import {init, exit} from "myPackage";

init({
  url: "url"
}) // (alias) init(config: Config): boolean

exit(1); // (alias) exit(code: number): number

 

JSDoc

* 자바스크립트 파일을 타입스크립트 파일에서 사용하기

1. tsconfig.json

"allowJs": true

타입스크립트가 자바스크립트의 타입을 추측

2. myPackage.js: JSDoc Comment 추가하기

    - 함수에 대한 설명과 타입 정의

// @ts-check
/**
 * Initializes the project
 * @param {object} config 
 * @param {boolean} config.debug
 * @param {string} config.url
 * @returns {boolean}
 */
export function init(config) {
  return true;
}

/**
 * Exits the program
 * @param {number} code 
 * @returns {number}
 */
export function exit(code) {
  return code + 1;
}

js 파일에 설정한 내용 적용

 

 

'개발 > JavaScript' 카테고리의 다른 글

[JS] Object Methods  (0) 2022.08.08
[TS] 블록체인 만들기  (0) 2022.08.07
[TS] 타입스크립트 프로젝트 설정  (0) 2022.08.05
[TS] Interfaces  (0) 2022.08.05
[TypeScript] Classes  (0) 2022.08.04