2016-11-11 5 views
1

機能の戻り値の型を設定して、私は次の注釈が見つかりました:何が与えるは、明示的に、私は最近、JSコードの周り突っついた

/** 
* Explicitly set the return type here to prevent the primitive being lost when using new 
* @return {boolean} 
*/ 
function giveMeABoolean(please) { 
    ... 
} 

を? JSの戻り値の型は?私はオンラインで掘り下げてきましたが、これについて何も見つかりません。いくつかのテストの後で、新しいを注釈なしで使用すると、プリミティブは実際に失われます。このアノテーションの仕組みを誰もが説明できますか?

+0

Here's the documentation for the @return comment.そして、ここにはあっています関連する例です。すべてのコメントは、通訳者によって破棄されます。 –

答えて

4

コメントはJSDocです。これはあなたのコードを記録する方法です。 IDEのようなツールはこのドキュメントを拾い読みして、メソッドのAPIを理解しようとしているときに素敵な書式であなたに見せてくれるでしょう。

インテリセンスなどのヒントを得るために、静的解析を行うときにこの情報が含まれるツールもあります。これにより、開発者は、戻り値の「型」がコードを操作している間は保持され、認識されるという印象を与えます。ただし、これらのコメントは実行時に影響を与えません。注釈が全く動作を変更しません

/** 
* Returns the sum of a and b 
* @param {Number} a 
* @param {Number} b 
* @param {Boolean} retArr If set to true, the function will return an array 
* @returns {Number|Array} Sum of a and b or an array that contains a, b and the sum of a and b. 
*/ 
function sum(a, b, retArr) { 
    if (retArr) { 
     return [a, b, a + b]; 
    } 
    return a + b; 
} 
2

私はそのコードの作成者がドキュメンテーションの目的でその情報を提供していると思います。あなたが本当にタイプ情報を提供したいと思うなら、あなたが考えるかもしれないタイプの情報を提供したい場合flow

関連する問題