더북(TheBook)

하지만 다음과 같은 코드들을 지속적으로 작성하게 된다면 반복적인 코드를 작성해야 하는 문제가 발생합니다.

/**
 * @typedef {object} ProductFilters
 * @property {string} name
 * @property {number} stock
 */

/**
 * @description 입력한 필터 결과에 해당하는 상품 정보를 받아 오는 함수
 * @param {ProductFilters} filters
 */
function fetchProductByFilters(filters) {
  // ...
}

이 코드는 사용자가 입력한 상품 필터 결과에 따라서 상품 정보를 받아 오는 함수에 JSDoc으로 주석을 추가한 것입니다. 여기에서 fetchProductByFilters() 함수의 파라미터는 filters인데 아마 JSDoc을 처음 보았다면 어떤 타입인지 이해하기 어려울 것입니다.