All'alba vincerò

At dawn, I will win!

Javascript

[JS] JSDoc: 자바스크립트 타입을 지정하는 기능

나디아 Nadia 2024. 7. 24. 17:20

📌 JSDoc 

: TypeScript처럼 타입을 지정하는 기능

 

 

 

✅ JSDoc 사용

 

설치

npm install -g jsdoc

 

 

생성

jsdoc path/to/your/javascript/files

 

 


 

✅ JSDoc 문법

/** ... */
  • @type: 타입을 참조
  • @example: 함수 사용 예제를 제공
  • @param: 함수의 매개변수
  • @returns (@return): 함수의 반환값을 설명
  • @typedef: 복잡한 객체 타입을 정의
  • @property: 객체의 속성을 설명

 

함수

/**
 * @param {number} a - 첫 번째 숫자.
 * @param {number} b - 두 번째 숫자.
 * @returns {number} 두 숫자의 합.
 * @example
 * // 예제 사용법
 * const result = add(2, 3);
 * console.log(result); // 5
 */
 
function add(a, b) {
  return a + b;
}

 

 

객체

/**
 * @typedef {Object} User
 * @property {string} name - 사용자 이름.
 * @property {number} age - 사용자 나이.
 */

/**
 * @param {User} user - 사용자 정보.
 * @returns {string} 사용자 정보 문자열.
 * @example
 * // 예제 사용법
 * const user = { name: 'Alice', age: 25 };
 * console.log(createUserInfo(user)); // 'Name: Alice, Age: 25'
 */
 
function createUserInfo(user) {
  return `Name: ${user.name}, Age: ${user.age}`;
}

 

 

클래스

/**
 * @class
 */
 
class Person {
  /**
   * @constructor
   * @param {string} name - 사람의 이름.
   * @param {number} age - 사람의 나이.
   */
  constructor(name, age) {
    /**
     * @private
     * @type {string}
     */
    this._name = name;
    
    /**
     * @private
     * @type {number}
     */
    this._age = age;
  }


  /**
   * @returns {string} 사람의 이름.
   */
  getName() {
    return this._name;
  }

  /**
   * @returns {number} 사람의 나이.
   */
  getAge() {
    return this._age;
  }
}

 

 


 

 

Use JSDoc: Index

Index Getting started Getting started with JSDoc A quick start to documenting JavaScript with JSDoc.Using namepaths with JSDoc A guide to using namepaths with JSDoc.Command-line arguments to JSDoc About command-line arguments to JSDoc.Configuring JSDoc wit

jsdoc.app

 

 

GitHub - jsdoc/jsdoc: An API documentation generator for JavaScript.

An API documentation generator for JavaScript. Contribute to jsdoc/jsdoc development by creating an account on GitHub.

github.com

 

 

TypeScript 한글 문서

TypeScript 한글 번역 문서입니다

typescript-kr.github.io

 

 

JSDoc을 사용하여 자바스크립트에 타입 힌트 제공하기 | PoiemaWeb

JSDoc을 사용하여 자바스크립트에 타입 힌트 제공하기

poiemaweb.com