次の方法で共有


<field> (JavaScript)

オブジェクトで定義されているフィールドまたはメンバーについて、説明などのドキュメント化情報を指定します。

<field name="fieldName" static="true|false"
    type="FieldType" integer="true|false"
    domElement="true|false" mayBeNull="true|false"
    elementType="ArrayElementType" elementInteger="true|false"
    elementDomElement="true|false" elementMayBeNull="true|false"
    helpKeyword="keyword" locid="descriptionID"
    value="code">description
</field>

パラメーター

  • name
    フィールドまたはメンバーの名前。<field> 要素がコンストラクター関数で使用されている場合は、そのタグが適用されるメンバーを定義する name が必要になります。直接 <field> 要素がフィールドの注釈として使用されている場合、この属性は無視され、Visual Studio で使用される名前が、ソース コード内の実際のフィールドの名前になります。

  • static
    省略可能。フィールドがコンストラクター関数のメンバーであるか、コンストラクター関数によって返されるオブジェクトのメンバーであるかを指定します。コンストラクター関数のメンバーとしてフィールドを処理する場合は、true に設定します。コンストラクター関数によって返されるオブジェクトのメンバーとしてフィールドを処理する場合は、false に設定します。

  • type
    省略可能。フィールドのデータ型。型は以下のいずれかです。

    • NumberObject など、ECMAScript 5 仕様に含まれる ECMAScript 言語の型。

    • HTMLElementWindowDocument などの DOM オブジェクト。

    • JavaScript のコンストラクター関数。

  • integer
    省略可能。type が Number である場合に、フィールドが整数かどうかを指定します。フィールドが整数であることを示す場合は true に設定します。それ以外の場合は false に設定します。Visual Studio では、この属性は IntelliSense 情報を提供するためには使用されません。

  • domElement
    省略可能。この属性は廃止されました。この属性より type 属性が優先されます。この属性は、ドキュメント化されたフィールドが DOM 要素であるかどうかを指定します。フィールドが DOM 要素であることを指定する場合は true に設定します。それ以外の場合は false に設定します。type 属性が設定されておらず domElement が true に設定されている場合、IntelliSense の入力候補機能では、ドキュメント化されたフィールドが HTMLElement として処理されます。

  • mayBeNull
    省略可能。ドキュメント化されたフィールドを null に設定できるかどうかを指定します。フィールドを null に設定できることを示す場合は true に設定します。それ以外の場合は false に設定します。既定値は false です。Visual Studio では、この属性は IntelliSense 情報を提供するためには使用されません。

  • elementType
    省略可能。type が Array であれば、この属性は、配列内の要素の型を指定します。

  • elementInteger
    省略可能。type が Array であり、elementType が Number である場合、この属性は、配列内の要素が整数であるかどうかを指定します。配列内の要素が整数であることを示す場合は true に設定します。それ以外の場合は false に設定します。Visual Studio では、この属性は IntelliSense 情報を提供するためには使用されません。

  • elementDomElement
    省略可能。この属性は廃止されました。この属性より elementType 属性が優先されます。type が Array である場合、この属性は、配列内の要素が DOM 要素であるかどうかを指定します。要素が DOM 要素であることを指定する場合は true に設定します。それ以外の場合は false に設定します。elementType 属性が設定されておらず elementDomElement が true に設定されている場合、IntelliSense の入力候補機能では、配列内の各要素が HTMLElement として処理されます。

  • elementMayBeNull
    省略可能。type が Array である場合、配列内の要素を null に設定できるかどうかを指定します。配列内の要素を null に設定できることを示す場合は true に設定します。それ以外の場合は false に設定します。既定値は false です。Visual Studio では、この属性は IntelliSense 情報を提供するためには使用されません。

  • helpKeyword
    省略可能。F1 ヘルプのキーワード。

  • locid
    省略可能。フィールドに関するローカライズ情報用の識別子。この識別子は、メンバーの ID であるか、または OpenAjax のメタデータで定義されているメッセージ バンドル内の name 属性値に対応します。この識別子の型は、<loc> (JavaScript) タグで指定された形式によって異なります。

  • value
    省略可能。関数コード自体ではなく、IntelliSense による使用のための評価が必要なコードを指定します。<field> では、コンストラクター関数でこの属性がサポートされますが、オブジェクト リテラルではサポートされません。フィールドの型が定義されていない場合に、この属性を使用して型情報を提供できます。たとえば、フィールドの型を数値として処理するために、value=’1’ を使用することができます。

  • description
    省略可能。フィールドの説明。

解説

コンストラクター関数内のフィールドをドキュメント化する場合は、name 属性が必要です。それ以外のすべてのシナリオでは、<field> 要素の属性はすべて省略可能です。

コンストラクター関数をドキュメント化する場合は、<field> 要素をフィールド宣言の直前に記述する必要があります。name 属性は、ソース コードで使用されているフィールド名と一致する必要があります。オブジェクトのメンバーの場合、<field> 要素がオブジェクト メンバー宣言の直前にあれば、name 属性は省略できます。

使用例

<field> 要素を使用する方法を次のコード例に示します。

// Use of <field> in an object definition.
var Rectangle = {
    /// <field type='Number'>The width of the rectangle.</field>
    wid: 5,
    /// <field type='Number'>The length of the rectangle.</field>
    len: 0,
    /// <field type='Number'>Returns the area of the rectangle.</field>
    getArea: function (wid, len) {
        return len * wid;
    }
}

// Use of <field> in a constructor function.
// The name attribute is required.
function Engine() {
    /// <field name='HorsePower' type='Number'>The engine's horsepower.</field>
    this.HorsePower = 150;
}

次の例は、static 属性を true に設定して <field> 要素を使用する方法を示しています。

function Engine() {
    /// <field name='HorsePower' static='true' type='Number'>static field desc.</field>
}

Engine.HorsePower = 140;
// IntelliSense on the field is available here.
Engine.  

次の例は、static 属性を false に設定して <field> 要素を使用する方法を示しています。

function Engine() {
    /// <field name='HorsePower' static='false' type='Number'>Non-static field desc.</field>
}

Engine.HorsePower = 140;
var eng = new Engine();
// IntelliSense on the field is available here.
eng.  

次の例は、value 属性を指定して <field> 要素を使用する方法を示しています。

function calculator(a) {
    /// <field name='f' value='1'/>
}
new calculator().f.   // Completion list for a Number.

参照

概念

XML ドキュメント コメント (JavaScript)