[javascript] 인라인 JSDoc을 사용하여 param이 선택 사항임을 나타내는 방법은 무엇입니까?

@param 에 대한 JSDoc 위키에 따르면 @param이 선택 사항임을 나타낼 수 있습니다.

/**
    @param {String} [name]
*/
function getPerson(name) {
}

다음을 사용하여 매개 변수를 인라인으로 나타낼 수 있습니다.

function getPerson(/**String*/ name) {
}

그리고 다음과 같이 결합 할 수 있습니다.

/**
    @param [name]
*/
function getPerson(/**String*/name) {
}

그러나 가능한 한 모든 것을 인라인으로 할 수있는 방법이 있는지 알고 싶습니다.



답변

에서 공식 문서 :

선택적 매개 변수

foo라는 선택적 매개 변수.

@param {number} [foo]
// or:
@param {number=} foo

기본값이 1 인 선택적 매개 변수 foo.

@param {number} [foo=1]


답변

좀 파고 나니 이것들도 괜찮다는 것을 알았습니다.

/**
 * @param {MyClass|undefined}
 * @param {MyClass=}
 * @param {String} [accessLevel="author"] The user accessLevel is optional.
 * @param {String} [accessLevel] The user accessLevel is optional.
 */

약간 더 시각적으로 매력적입니다. function test(/**String=*/arg) {}


답변

Google Closure Compiler 유형 표현식을 사용하여이 작업을 수행하는 방법을 찾았습니다 . 다음과 같이 유형 뒤에 등호를 넣습니다.
function test(/**String=*/arg) {}


답변

함수 인수에 인라인 유형 주석을 사용하고 해당 표기법에서 함수 인수를 선택 사항으로 표시하는 방법을 궁금해하는 경우, 선택적 인수에 기본값을 할당하는 것만으로도 효과가 있다는 것을 알았습니다. 기본값이되도록 undefined하려면 명시 적으로 설정해야합니다. 그렇지 않으면 인수가 옵션으로 표시되지 않습니다 (이미 선택적 인수가 앞에있는 경우에도).

function demo(
  /** @type {String} */ mandatory,
  /** @type {Number} */ optional1 = 0,
  /** @type {Number} optional2 = undefined,
)

만약 당신이 가져가 이상 demo에 IDE 둘 다 볼 수 optional1optional2현재 선택 사항으로 게재합니다. ?인수 이름 뒤에 로 표시되는 VSCode에서 (TypeScript 표기법). 제거하는 경우 = undefined에서 optional2만 볼 수 optional1물론 넌센스입니다있는 옵션을 나는 위의 단락에서 언급처럼 여기 디폴트 값은 명시 적이어야하므로.


답변