簡単な質問ですが、その「混合タイプ」を文書化するにはどうすればよいですか? {null|undefined|String|Number|Object}
のようなすべての可能なタイプをリストするだけで、1つが欠落していることに気づき、非常に複雑になる可能性があることを私は知っています。 Mixedキーワードを使用してみましたが、WebStormなどの多くのIDEでエラーがポップアップ表示されます。
私はそれを行う方法を見つけました:
/**
* @param {*} foo
*/
function bar(foo) {}
使用{}
http://usejsdoc.org/tags-type.html からの例があります:
プロパティ 'a'(数値)、 'b'(文字列)および 'c'(任意のタイプ)を持つ 'myObj'というオブジェクト。
{{a: number, b: string, c}} myObj // or: {Object} myObj {number} myObj.a {string} myObj.b {} myObj.c
JSDocでは、さまざまな方法で値を記述することができます。たとえば、次のタグを使用します@type
、@param
、@return
。 「?」を使用してオプションの値を指定できます。これが例です
/**
* Returns string or null
*
* @param {?string} nullableStringArgument
*
* @return {?string}
*/
function returnNullableString (nullableStringArgument = null) {
/** @type {?string} */
const nullableString = [null, 'string'][Math.floor(Math.random() * 2)];
return nullableString;
}