이제는 개체를 매개 변수 / 유형으로 문서화하는 4 가지 방법이 있습니다. 각각의 용도가 있습니다. 그러나 이들 중 3 개만 반환 값을 문서화하는 데 사용할 수 있습니다.
알려진 속성 집합이있는 객체 (Variant A)
/**
* @param {{a: number, b: string, c}} myObj description
*/
이 구문은이 함수의 매개 변수로만 사용되며 각 속성에 대한 추가 설명이 필요없는 객체에 이상적입니다. 그것은 사용할 수 있습니다 @returns
뿐만 아니라 .
알려진 속성 집합이있는 객체 (Variant B)
속성 구문 이있는 매개 변수 가 매우 유용 합니다.
/**
* @param {Object} myObj description
* @param {number} myObj.a description
* @param {string} myObj.b description
* @param {} myObj.c description
*/
이 구문은이 함수의 매개 변수로만 사용되며 각 속성에 대한 추가 설명이 필요한 객체에 이상적입니다. 이 기능은 사용할 수 없습니다 @returns
.
소스에서 둘 이상의 지점에서 사용될 객체의 경우
이 경우 @typedef 는 매우 편리합니다. 소스의 한 지점에서 유형을 정의하여 유형을 사용 @param
하거나 유형을 @returns
사용할 수있는 다른 JSDoc 태그로 사용할 수 있습니다.
/**
* @typedef {Object} Person
* @property {string} name how the person is called
* @property {number} age how many years the person lived
*/
그런 다음 이것을 @param
태그 에서 사용할 수 있습니다 .
/**
* @param {Person} p - Description of p
*/
또는 @returns
:
/**
* @returns {Person} Description
*/
값이 모두 같은 유형 인 객체의 경우
/**
* @param {Object.<string, number>} dict
*/
첫 번째 유형 (문자열)은 JavaScript에서 항상 문자열이거나 최소한 문자열로 강제되는 키 유형을 문서화합니다. 두 번째 유형 (숫자)은 값의 유형입니다. 이것은 모든 유형이 될 수 있습니다. 이 구문도 사용할 수 있습니다 @returns
.
자원
문서화 유형에 대한 유용한 정보는 다음에서 찾을 수 있습니다.
https://jsdoc.app/tags-type.html
추신:
선택적 값을 문서화하려면 다음을 사용할 수 있습니다 []
.
/**
* @param {number} [opt_number] this number is optional
*/
또는:
/**
* @param {number|undefined} opt_number this number is optional
*/