JSDoc에서 매개 변수 또는 반환 값으로 객체 배열을 지정하는 방법은 무엇입니까?


105

JSDoc에서 찾을 수있는 최고의 문서는 특정 유형의 배열 (예 : 문자열 배열)이있는 경우 다음을 사용하는 방법을 보여줍니다.

/**
 * @param {Array.<string>} myStrings All my awesome strings
 */
 function blah(myStrings){
     //stuff here...
 }

아래 물음표를 어떻게 대체하여 객체 배열을 지정합니까?

/**
 * @param {???????} myObjects All of my equally awesome objects
 */
 function blah(myObjects){
     //stuff here...
 }

답변:


180

JSDoc이 의미하는 바를 좀 더 구체적으로 설명해야합니다. 이것은 JavaScript를위한 거의 모든 JavaDoc 스타일 문서 도구를 포함하는 일반적인 용어입니다.

문자열 배열에 사용한 구문은 Google Closure Compiler에서 지원하는 구문과 유사합니다 .

이것을 사용하면 객체 배열은 다음과 같습니다.

/**
 * @param {Array.<Object>} myObjects
 */

또는 그냥 배열-거의 모든 문서 도구에서 작동합니다.

/**
 * @param {Array} myArray
 */

jsdoc-toolkit , JSDoc 3JSDuck 은 객체 배열을 나타내는 다음 구문을 지원합니다.

/**
 * @param {Object[]} myArray
 */

편집하다

키와 값의 변수 유형을 알고있는 경우 다음을 수행 할 수도 있습니다.

/**
 * @param {Array.<{myNumber: Number, myString: String, myArray: Array}>} myObjects
 */

또는

/**
 * @param {{myNumber: Number, myString: String, myArray: Array}[]} myObjects
 */

10
. 표기법은 이제 더 이상 사용되지 않으며 나중에 지원을 중단해야합니다. 현재 올바른 버전은 {Array<Object>}입니다. 이 게시물을 최신 상태로 유지하기 위해.
Kenny806

2
JSDoc 3을 사용하면 String 배열의 배열을 어떻게 문서화 할 수 있습니까? 이전 구문에서 다음과 같이 할 수 있습니다Array.<string[]>
Snekse

9
@ Kenny806 더 이상 사용되지 않습니까? 참조 문서를주세요.
윌트

2
@Wilt : JSDoc 문서는 꺾쇠 괄호 앞의 점에 대해 모순 됩니다.
댄 Dascalescu

2
이 답변은 해당 배열에서 객체의 키를 선언하는 방법과 특정 키가있는 객체 배열을 반환 유형으로 선언하는 방법을 설명하지 않습니다. 이 대답 은 그렇습니다.
댄 Dascalescu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.