2011-02-05 6 views
30

簡単な質問ですが、「混合型」をどのように文書化すればよいですか?私はちょうど{null|undefined|String|Number|Object}のようなすべての可能なタイプをリストアップでき、自分自身が見つからなくて、それが過度に複雑になってしまうことを知りました。私はMixedキーワードを使用しようとしましたが、WebStormなどの多くのIDEでエラーがポップアップします。JsDocの「混合」タイプはどうですか?

答えて

47

私はそれを行う方法を見つけました:

/** 
* @param {*} foo 
*/ 
function bar(foo) {} 
+2

これはどこですか?私の検索結果は、[クローズコンパイラ](https://developers.google.com/closure/compiler/docs/js-for-compiler#types)でのみ動作することを確認できます。それは正式なJSDoc構文ですか? –

+0

@RobinvanBaalen *すべてのタイプ*最後に:https://developers.google.com/closure/compiler/docs/js-for-compiler?hl=de#types – yckart

+2

@yckart前に言ったように; [JSDoc](http://usejsdoc.org/)!= [クローズコンパイラ](http://developers.google.com/closure)。 –

1

使用{}

http://usejsdoc.org/tags-type.htmlからの例があります:

プロパティで 'このmyobj' 'と呼ばれるオブジェクトがa '(数字)、' b '( 文字列)および' c '(任意のタイプ)です。

{{a: number, b: string, c}} myObj 
// or: 
{Object} myObj 
{number} myObj.a 
{string} myObj.b 
{} myObj.c