ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSDoc
    DevelopDictionary 2023. 1. 5. 09:06

    JSDoc는 TypeScript처럼 강제성을 주지 않고 오로지 힌트를 주기 위해 사용한다.

     

    코드)

    /**
     * 어떤 함수인지 설명
     * @todo 내일까지 XX 기능 추가
     * @param {string} name 이름
     * @param {number} age 나이
     * @returns 두개 합쳐서 문자로 뱉어줘요
     */
    const hello = (name, age) => {
    	return `${name}은 ${age}살 입니다.`;
    };
    
    hello('멍멍이', 5);

     

    결과)

    @param 은 함수의 parameter를 말하고, 그 옆에 있는 {} 중괄호는 어떤 타입인지 힌트로 알려줄 수 있다.

    name은 parameter 명을 쓴 것이고, 그 옆은 parameter에 대한 설명이다.

    @todo는 메모 기능이라고 보면 된다, '내일은 무슨 기능 추가할거야' 라는 등의 메모 끄적끄적..

     

     

    코드)

    /**
     * @version 16.19.0
     * @see https://naver.com
     */
    function test() {
    
    }

     

    결과)

    위 JSDoc에서 @version은 버전 정보를, @see는 여기를 참고하라고 알려줄 수 있다.

     

     

    코드)

    /**
     * @readonly
     * @const {number}
     */
     const num = 1;

     

    결과)

    위 JSDoc에서 @readonly는 읽기 전용이다 라고 알려주는 힌트, @const {number}은 해당 상수의 타입에 대한 힌트를 준다.

     

     

    코드)

    /** @type {string | number} */
    const name = 'kim';
    
    /** @type {number[]} */
    const num = [1, 2, 3];

     

    결과)

    변수만들 때 이렇게 타입들도 넣을 수 있음,

    TypeScript 같은 기능을 구현할 수도 있음

     

     

    코드)

    /**
     * 테스트 객체
     * @property {string} name 이름
     * @property {number} age 나이
     * @method go 가즈아
     */
    const test = {
      name: 'kim',
      age: 35,
      go() {
        console.log('JSDoc는 유용해');
      }
    };

     

    결과)

    객체에서도 @property {타입} 프로퍼티명 설명 으로 구성도 가능하다.

    당연히 @method 메서드명 설명 으로 메서드에 대해서도 힌트를 주는 게 가능하다!

     

     

    코드)

    /**
     * @deprecated 이제 이거 그만쓰고 다른거 써야합니다
     */ 
    function gridMake(col, row) {
    
    }

     

    결과)

    위 JSDoc에서 @deprecated는 경고를 줄 수 있습니다.

    경고를 통해 해당 함수에 gridMake(); 취소선으로 그어버릴 수(?)도 있습니다.

    'DevelopDictionary' 카테고리의 다른 글

    티켓 이란?  (0) 2022.05.02

    댓글

Designed by Tistory.